objective-c - 当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 保持结果进行交互

标签 objective-c cocoa ipad uisearchbar uipopovercontroller

我有一个 UISearchBar。当用户触摸 UISearchBar 时,会显示一个包含结果的 UITableView 的 UIPopoverController。当用户输入时,结果就会出现。

我希望用户能够触摸 UISearchBar 中的灰色 x 按钮来清除搜索结果并清除 UISearchBar 的文本字段。然而,第一次触摸只是关闭 UIPopoverController,提示用户第二次触摸按钮以清除文本字段。

有没有办法在显示 UIPopoverController 时允许与其他对象进行触摸交互?

最佳答案

尝试将 UIPopoverController 的 passthroughViews 属性设置为 UISearchBar。

事实上,Apple 示例应用程序 ToolbarSearch正是这样做的:

// Ensure the popover is not dismissed if the user taps in the search bar.
popover.passthroughViews = [NSArray arrayWithObject:searchBar];

关于objective-c - 当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 保持结果进行交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4662788/

相关文章:

ios - 如何将项目添加到 UITableView?

objective-c - 如何在 cocoa 中保留应用程序状态

objective-c - 菜单栏应用程序与窗口应用程序?

iphone - 为什么一个 UIButton 有 3 种不同的图像属性?

ipad - 使用 Xcode 4.3.2 Storyboard 进行选择时隐藏主视图 Controller

objective-c - 解析一个字符串得到一个数字并得到不同的结果

iOS:模态 viewController 如何记住它的属性?

ios - 收到消息 "WARNING: under normal conditions, _fillInQueueWithExtraSpace:.."并且 MPMoviePlayer 旋转在 iPad IOS 5.1 中不起作用

ios - 具有自定义委托(delegate)或数据源的 View Controller 的状态保存

cocoa - setView : of NSMenuItem 这个错误意味着什么