ipad - 使用 modalInPopover 显示弹出框时如何禁用主工具栏?

标签 ipad uipopovercontroller uibarbuttonitem uitoolbar

我正在显示一个带有 modalInView 属性集的包含 View Controller 的弹出窗口。在继续之前,我需要用户在此处输入响应。

虽然这禁用了我的大部分用户界面控件,但它确实禁用了主应用程序上的工具栏按钮。我不希望用户在选择弹出窗口中的项目并关闭它之前与应用程序交互。

我在这里错过了一些聪明的东西 - 即默认情况下会禁用工具栏吗?为什么它保持活跃?是否有一些用户界面指南需要它?

我应该将工具栏设置为禁止用户交互,还是很麻烦?

最佳答案

当您从 UIBarButtonItem 呈现它时,iOS 似乎将该栏添加为弹出窗口的“直通 View ”。

呈现后只需将 UIPopoverController 的 passthroughViews 属性设置为 nil,如下所示:

[self.myPopover presentPopoverFromBarButtonItem:some_item permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
dispatch_async(dispatch_get_main_queue(), ^{ self.myPopover.passthroughViews = nil; });

关于ipad - 使用 modalInPopover 显示弹出框时如何禁用主工具栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6672361/

相关文章:

iphone - 在运行时调整 UITableView 的单元格

ios - 想在 UIAlertController 或 UIPopoverController Swift 中显示 UIPickerView?

iphone - 如何在不使用图像的情况下以编程方式将自定义宽度的 UIBarButtonItem 添加到 UINavigationItem

ios - 多个 UINavigationBar 中的一个 UIBarButtonItem 实例

swift - 设置 UIBarButtonItem 的字体大小

ios - 有没有办法让 YTPlayerView 在 iPad 上全屏播放?

IOS 忽略 ModalPresentationStyle 和 ModalTransitionStyle 并呈现全屏

ios - 在具有主/详细配置的 iPad 上禁用/更改 "swipe from left"的行为

objective-c - UIPopover 中的 UITextField

iOS sdk - 没有 Popover 的 UIImagePickerController