2012-04-11 32 views
10

我的應用在iOS 5.1之前完美運行。它是一個UISplitviewController,在左側窗格中有UINavigationController,並根據在UINavigationController內做出的選擇更新詳細信息窗格。UISplitViewController iOS 5.1導致彈出箭頭方向錯誤

新從左更換爲酥料餅,地方性到iOS 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; 
    }