UISplitViewController iOS 5.1 导致弹出箭头方向错误

Posted

技术标签:

【中文标题】UISplitViewController iOS 5.1 导致弹出箭头方向错误【英文标题】:UISplitViewController iOS 5.1 causes popover arrow direction error 【发布时间】:2012-04-11 10:15:20 【问题描述】:

我的应用在 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】:

使用以下委托从详细信息页面显示母版页

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

【讨论】:

以上是关于UISplitViewController iOS 5.1 导致弹出箭头方向错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS (iPad) 在 UISplitViewController 中拖放

UISplitViewController 内的 iOS 13 UITabBarController 未正确折叠

嵌入 UISplitViewController 时,UINavigationBar 中缺少 iOS11 UISearchBar

转换为使用 iOS 8 Popover Segues 时 UISplitViewController 崩溃

IOS4 UISplitViewController 在纵向与 RootViewController 显示像横向

iOS-如何在 UISplitViewController 详细视图上方添加按钮