UISplitViewController在iOS 5.1中导致弹出视图箭头方向错误。

10

我的应用在 iOS 5.1 之前工作得非常完美。它是一个 UISplitviewController,左侧窗格中有一个 UINavigationController,根据在该 UINavigationController 中所做的选择更新详细窗格。

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]; }

但我仍然收到相同的错误。有人能帮忙吗?

1个回答

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;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接