gpt4 book ai didi

ios - UISplitViewController Detail View 旋转后消失

转载 作者:行者123 更新时间:2023-12-01 16:59:27 25 4
gpt4 key购买 nike

我有一个 UIViewController 的问题,请在回答之前先阅读,它比看起来更复杂。无需更改 super UIViewController 旋转即可正常工作!

我有一个纵向方向的 UISplitViewController,而不是单击按钮以显示 UIPopoverController
Popover shown
现在我将 UIViewController 从 UISplitViewC 更改为 UITableViewC
tableview
现在我将 iPad 旋转到横向
tableview landscape
最后切换回 SpliViewController!
splitviewcontroller landscape
如您所见,没有显示 MasterViewController 并且 NavigationItem 没有消失。

这让我假设在 UITableViewController 的旋转上没有调用 splitview 的委托(delegate)函数(不足为奇)

我该如何处理这个问题?

委托(delegate)功能

- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {

//debug_NSLog(@"Entering portrait, showing the button: %@", [aViewController class]);
barButtonItem.title = @"Akten";
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
[self setMasterPopover: pc];
}


// Called when the view is shown again in the split view, invalidating the button and popover controller.
- (void)splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {

//debug_NSLog(@"Entering landscape, hiding the button: %@", [aViewController class]);
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
[self setMasterPopover: nil];
}

感谢您的帮助!

最佳答案

同样的问题,但委托(delegate)的功能肯定会被调用,您可以通过放置 NSLog 来检查
其他方式制作您自己的 popovercontroller 并在 didrotate 方法中调用它。

关于ios - UISplitViewController Detail View 旋转后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com