ios - UISplitViewController iOS 5.1 导致popover箭头方向错误

标签 ios uisplitviewcontroller uipopovercontroller

我的应用在 iOS 5.1 之前运行良好。它是一个 UISplitviewController,在左侧 Pane 中有一个 UINavigationController,并根据在该 UINavigationController 中所做的选择更新详细信息 Pane 。

iOS 5.1 特有的弹出窗口从左侧滑入的新替换功能;它看起来不太好,但它确实有效。

似乎被破坏的是纵向栏按钮的“弹出窗口”的显示。它导致异常 - 'NSInternalInconsistencyException',原因:'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]; }

但我仍然得到同样的错误。谁能帮忙?

最佳答案

使用下面的委托(delegate)从详细信息页面显示母版页

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

关于ios - UISplitViewController iOS 5.1 导致popover箭头方向错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10103972/

相关文章:

objective-c - 从 ViewController 登录到 SplitViewController

ios - 在 CGImage 上画线

ios - 在 iPhone 6 Plus 上关闭 UISplitViewController 弹出窗口时 UIWebView 拉伸(stretch)

ios - UISplitViewController 主视图在详细 View 上调用 PerformSegueWithIdentifier

xcode - IOS:用表格 View 填充弹出框

ios - 呈现弹出窗口时 UIBarButtonItem 不会变成灰色

ios - 搜索和表格 View

ios - XCode/Swift 无法更改文本标签位置

android - 适用于 Android/iOS/WinPhone 的 Xamarin 共性层

iphone - 触摸接受选择的按钮后如何在弹出窗口中关闭 View Controller