8

मैं पहली बार ऐप लॉन्च करता हूं और UIPageViewController का उपयोग करके एक ट्यूटोरियल बना रहा हूं। सब ठीक काम कर रहा है लेकिन UIPageViewController का पृष्ठभूमि रंग पारदर्शी नहीं हो रहा है। यह हमेशा काला है जिन्हें आप नीचे देख:UIPageViewController और UIPageControl पारदर्शी पृष्ठभूमि रंग - आईओएस

enter image description here enter image description here

यहाँ मैं कैसे UIPageViewController जोड़ रहा (एक tabbar नियंत्रक में)

ज फ़ाइल:

@interface CHMainTabViewController : UITabBarController <UIPageViewControllerDataSource> 

@property (strong, nonatomic) UIPageViewController *pageViewController; 
@end 

मीटर फ़ाइल (viewDidLoad में):

// Create page view controller 
self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageViewController"]; 
self.pageViewController.dataSource = self; 
self.pageViewController.view.backgroundColor = [UIColor clearColor]; 
TutorialViewController *startingViewController = [self viewControllerAtIndex:0]; 

       NSArray *viewControllers = @[startingViewController]; 

       [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 
[self presentViewController:_pageViewController animated:YES completion:nil]; 

मेरी AppDelegate.m में, मैं भी 'स्पष्ट करने के रों पृष्ठभूमि रंग:

UIPageControl *pageControl = [UIPageControl appearance]; 
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; 
pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; 
pageControl.backgroundColor = [UIColor clearColor]; 
[pageControl setOpaque:NO]; 
self.window.backgroundColor = [UIColor clearColor]; 

मुझे पता है कि इस मुद्दे को UIPageViewController साथ है' UIPageControl निर्धारित किया है रों पृष्ठभूमि रंग। पारदर्शी होने के लिए नियंत्रक की पृष्ठभूमि सेट करना संभव नहीं है?

कृपया मदद करें!

धन्यवाद।

उत्तर

3

ठीक है, मैं समाधान मिल गया है:

  1. UIPageViewController पर एक पृष्ठभूमि छवि सेट करें।

UIView *view = [[UIView alloc] init]; view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); UIImageView *imageView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_backgroung"]]; imageView1.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); [view addSubview:imageView1];

// Create page view controller 
self.pageViewController = [self.storyboard 

instantiateViewControllerWithIdentifier:@"PageViewController"]; 
self.pageViewController.dataSource = self; 
self.pageViewController.view.backgroundColor = [UIColor clearColor];     
[self.pageViewController.view insertSubview:view atIndex:0]; 
  1. अपने PageViewController viewControllers के लिए, ग्राफिक्स या जो भी आप चाहते हैं के साथ एक PNG चित्र चुनते हैं, लेकिन यकीन है कि पृष्ठभूमि पारदर्शी है या नहीं।
  2. appDelegate.m

    UIPageControl *pageControl = [UIPageControl appearance]; pageControl.pageIndicatorTintColor = [UIColor whisperWhite]; pageControl.currentPageIndicatorTintColor = [UIColor whisperDarkGray]; pageControl.backgroundColor = [UIColor clearColor];

अब चलाने के लिए और अपने UIPageViewController में के रूप में पारदर्शी तरीके से दिखाई देगा अपने UIPageControl की पृष्ठभूमि सेट, (पृष्ठभूमि नोटिस स्थिर और केवल पाठ हम के रूप में, आगे बढ़ रहा है दाएं से बाएं स्वाइप करें): enter image description here

1

इसे प्रस्तुत करने से पहले पृष्ठ दृश्य नियंत्रक पर सेट करें

pageViewController.providesPresentationContextTransitionStyle = YES; 
pageViewController.definesPresentationContext = YES; 
[pageViewController setModalPresentationStyle:UIModalPresentationOverCurrentContext]; 
+0

यह पृष्ठभूमि के लिए कोई छवि नहीं के साथ मेरी समस्या को ठीक करता है और मैं पेज नियंत्रक के पीछे की सामग्री को देखना चाहता था। –

संबंधित मुद्दे