2012-04-11 19 views
10

मेरा ऐप आईओएस 5.1 से पहले पूरी तरह से काम कर रहा था। यह UISplitviewController है UINavigationController बाएं हाथ के फलक में, और उस UINavigationController के भीतर किए गए विकल्पों पर निर्भर विवरण फलक अपडेट करता है।UISplitViewController आईओएस 5.1 पॉपओवर तीर दिशा त्रुटि

पॉपओवर के लिए बाएं प्रतिस्थापन से नया स्लाइडिंग-इन, आईओएस 5.1 कार्यों के लिए स्थानिक; यह बहुत अच्छा नहीं लग रहा है, लेकिन यह काम करता है।

जो टूटा हुआ प्रतीत होता है वह चित्र में बार बटन से 'पॉपओवर' का प्रदर्शन होता है। यह एक अपवाद का कारण बनता है - 'NSInternalInconsistencyException', reason: 'Unknown direction passed to _popoverViewSizeForContentSize:arrowDirection:'

मैं विधि इस प्रकार है जो पॉपओवर प्रदर्शित करता है ओवरराइड करने के लिए प्रयास किया है:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController { [self.popoverController presentPopoverFromBarButtonItem:self.masterPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }

लेकिन मैं अभी भी एक ही त्रुटि मिलती है। क्या कोई मदद कर सकता है?

उत्तर

0

विवरण पृष्ठ से मास्टर पृष्ठ प्रदर्शित करने के लिए नीचे दिए गए प्रतिनिधियों का उपयोग करें

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController: 

    (UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
    { 
     barButtonItem.title = NSLocalizedString(@"Master", @"Master"); 
     [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
     self.masterPopoverController = popoverController; 
    } 

    - (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem 
    { 
     // Called when the view is shown again in the split view, invalidating the button and popover controller. 
     [self.navigationItem setLeftBarButtonItem:nil animated:YES]; 
     self.masterPopoverController = nil; 
    }