2013-06-27 3 views
27

मेरा ऐप क्रैश हो रहा है, जब मैं अपने ऐप में एक से अधिक व्यू कंट्रोलर सेट करता हूं, जैसे नीचे।uipageviewcontroller क्लास एक से अधिक दृश्य नियंत्रकों को सेट करने पर क्रैश हो रहा है

[self setViewControllers:_images direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL]; 

मेरी छवियां दृश्य नियंत्रकों की एक श्रृंखला है।

ऐप निम्न त्रुटि कहने से क्रैश हो जाता है। मैं कहाँ से शुरू करू मुझे पता नहीं है।

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition 

उत्तर

46

जैसा कि त्रुटि कहती है, आप आवश्यकतानुसार अधिक दृश्य नियंत्रक प्रदान कर रहे हैं। आपको सरणी में केवल 1 व्यू कंट्रोलर प्रदान करना चाहिए। फिर पेज व्यू कंट्रोलर के डेटा स्रोत विधियों का उपयोग पहले और बाद में नियंत्रकों को सही तरीके से प्रदान करने के लिए करें।

+0

मैं जानना चाहता हूं कि मेरा उपयोगकर्ता कौन सा व्यू कंट्रोलर चालू है, और जब भी अगले नियंत्रक पर जाने के लिए खींच लिया जाता है। इसके लिए मैंने - (शून्य) पृष्ठ दृश्य नियंत्रक का उपयोग करने की कोशिश की: (UIPageViewController *) पृष्ठ दृश्य नियंत्रक किया गयाफिशिशएनीकरण: (BOOL) पिछला दृश्य देखें नियंत्रक: (NSArray *) पिछला दृश्य नियंत्रक संक्रमण पूर्ण: (BOOL) पूरा हुआ। लेकिन यह संकेत बुलाया जा रहा है। मैंने प्रतिनिधि और डेटासोर्स को सही तरीके से सेट किया है। –

+0

आप पेज व्यू कंट्रोलर के व्यू कंट्रोलर सरणी प्रॉपर्टी [[पृष्ठ दृश्य कंट्रोलर व्यू कंट्रोलर] ऑब्जेक्ट एट इंडेक्स: 0] के रूप में प्राप्त करके वर्तमान दृश्य नियंत्रक उदाहरण प्राप्त कर सकते हैं; उपरोक्त प्रतिनिधि में। प्रतिनिधि को कॉल करने के लिए, जांचें कि आपने डेटा स्रोत और प्रतिनिधि कहां सेट किया है। – Zen

+0

क्षमा करें, मेरी गलती। मैंने एक डेटासोर्स और कोड में प्रतिनिधि के बजाय दो बार डेटासोर्स लिखा था। –

-3

आईओएस में UIPageViewController में कुछ कीड़े हैं। इसके बजाय UIViewController के UIScrollView + NSArray का उपयोग करें! शायद यह मदद करेगा। http://weijun.me/post/develop/2015-11-26

+0

मैं यह नहीं कहूंगा कि यह उतना ही खराब है जितना उपयोग करना मुश्किल है और बहुत अनुकूल नहीं है। जब आप "पृष्ठ बारी" एनीमेशन चाहते हैं तो मैं केवल इसका उपयोग करने की अनुशंसा करता हूं। यदि आप सामान्य स्क्रॉल के साथ एक पेजेड स्क्रॉल दृश्य चाहते हैं और UIScrollView की तुलना में एक पृष्ठ नियंत्रण उपयोग करना आसान है। – moger777

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