मेरे पास एक कंटेनर UIViewController (IntroViewController) है, जिसमें मैं UIPageViewController (PageViewController) लोड करता हूं। UIPageViewController में, मेरे पास IntroPageContentViewControllers और एक {X4}} है।

My storyboard setup

मैं UIPageViewController में एक पृष्ठभूमि छवि रखना चाहता हूं। अगर मैं इसे IntroViewController में डालता हूं, तो यह देखने योग्य नहीं है। मैं इसे UIPageViewController में नहीं डाल सकता, और जब मैं इसे ContentViewControllers में से किसी एक में डालता हूं तो यह प्रत्येक पृष्ठ के साथ स्क्रॉल करता है। मैं चाहता हूं कि यह एक स्थान पर हो और केवल सामग्री को स्क्रॉल करें।

मैं UIImageView कहां रखूं और कहां bringSubviewToFront या कुछ समान होना चाहिए?

0
jbehrens94 25 नवम्बर 2015, 12:22

3 जवाब

सबसे बढ़िया उत्तर

बस UIImageView को कंटेनर UIViewController में डालें और [UIColor clearColor] संपत्ति को [UIColor clearColor] दोनों कंटेंट व्यू कंट्रोलर के लिए सेट करें।

यहां आपके पास एक उदाहरण है कि यह कैसे काम करता है: https://github.com/Wojdan/stackAnswers/tree/master/33912671

2
bevoy 25 नवम्बर 2015, 10:16
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];



UIPageControl *pageControl = [UIPageControl appearance];
 pageControl.pageIndicatorTintColor = [UIColor whisperWhite];
 pageControl.currentPageIndicatorTintColor = [UIColor whisperDarkGray];
 pageControl.backgroundColor = [UIColor clearColor];
1
user5598510 25 नवम्बर 2015, 09:39

आदर्श रूप में, आपको UIPageViewController को पेरेंटव्यूकंट्रोलर के बच्चे के रूप में जोड़ना चाहिए। आपके मामले में IntroViewController माता-पिता है और PageViewController इसका बच्चा बन जाएगा।

अब, आप IntroViewController पृष्ठभूमि चित्र को नीचे की तरह छवि से सेट करते हैं:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]];

और फिर, आप सामग्री दृश्य नियंत्रकों के लिए पृष्ठभूमि रंग साफ़ कर सकते हैं जिन्हें आप UIPageViewController में जोड़ने की योजना बना रहे हैं।

हालाँकि, आपको 'UIPageViewController' के नीचे से पेज नियंत्रण को हटाने के लिए प्रतिनिधि से नीचे टिप्पणी करनी पड़ सकती है

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController
{
}

उम्मीद है की यह मदद करेगा।

0
Tekido 25 नवम्बर 2015, 10:09