当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 进行交互

Posted

技术标签:

【中文标题】当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 进行交互【英文标题】:UISearchBar with UIPopoverController holding results cannot be interacted with while UIPopoverController is on screen 【发布时间】:2011-01-11 21:18:22 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

太棒了。这正是我一直在寻找的,只是不知道如何找到它。感谢您的帮助。

以上是关于当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 进行交互的主要内容,如果未能解决你的问题,请参考以下文章

UIPopoverController 可以在屏幕上移动吗?

UIPopoverController 按钮,防止变暗叠加?

创建一个 UIPopoverController

使IPad的UIPopoverController等于屏幕大小

UIPopoverController的使用

iPad开发中UIPopoverController的使用