ios - SplitViewController 模板手动显示弹出窗口?

标签 ios ipad uisplitviewcontroller uipopovercontroller show

我正在使用 Apple 提供的 splitViewController 模板。在特定操作中,我想显示 rootViewController。不幸的是,我找不到一种方法可以(以编程方式)显示弹出框,就像您点击栏按钮项时那样。

有什么想法吗?谢谢!

最佳答案

您可以使用以下两种方法从 barButtonItem 或您自己的 rect 显示弹出窗口:

[self.popoverController presentPopoverFromRect:(CGRect) inView:(UIView *) permittedArrowDirections:(UIPopoverArrowDirection) animated:(BOOL)];
[self.popoverController presentPopoverFromBarButtonItem:(UIBarButtonItem *) permittedArrowDirections:(UIPopoverArrowDirection) animated:(BOOL)]

self.popoverController 是我的案例,它是一个存储弹出框的 ivar。我每次都在以下位置设置此变量:

- splitViewController:willHideViewController:withBarButtonItem:forPopoverController:

并在其对应方法中将其设置回nil:

- splitViewController:willShowViewController:invalidatingBarButtonItem:

这是我的代码:

- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
    barButtonItem.title = @"42";
    self.navigationController.navigationBar.topItem.leftBarButtonItem = barButtonItem;
    self.popoverController = pc;
}

- (void)splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
    self.navigationController.navigationBar.topItem.leftBarButtonItem = nil;
    self.popoverController = nil;
}

关于ios - SplitViewController 模板手动显示弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692898/

相关文章:

ios - 如何检测 iPad 上的智能/外接键盘?

objective-c - Ipad Split View,是否可以调整 Split View的根 Controller 的大小?

ios - 为什么 detailViewController 不再在 UISplitViewController.viewControllers 中了?

ios - 禁止在 Swift 中自动旋转一个组件?

iphone - iOS 以编程方式获取物理屏幕尺寸?

ios - ID 为 xxxxxxxx 的应用程序在 id 为 yyyy 的应用程序上没有正确的 view_struct

ios - iPad SplitViewController 以编程方式显示 Popover

ios - App Store 拒绝 – App 在测试中有效,但在发送到 App Store 时无效

javascript - (iPhone 和 iPad)单击外部输入字段时永远不会失去焦点 - HTML/Javascript

ios - 使用新项目 iOS 上传新版本的应用程序