出现弹出框时 UI 没有响应
Posted
技术标签:
【中文标题】出现弹出框时 UI 没有响应【英文标题】:UI not responding when popover is presented 【发布时间】:2014-11-27 09:18:33 【问题描述】:我有 2 个按钮,例如 button1
和 button2
。当我们点击button1
时,将显示popover
。当popover
出现时,如果我们点击button2
,它不会响应点击动作,而是popover
将被关闭。我需要的是,当我们点击button2
时,我需要关闭弹出窗口并且还应该执行button2
的操作。我怎么能同时得到这个。请给我一些建议。提前致谢。
【问题讨论】:
【参考方案1】:根据 UIPopoverController 的默认行为,当用户在弹出框外点击时,它将被关闭。以下是 Apple 文档中的注释:
UIPopoverController 类用于管理弹出框中内容的呈现。您使用弹出框来临时呈现信息。弹出框内容叠加在现有内容之上,背景自动变暗。弹出框一直可见,直到用户在弹出框窗口之外点击或您明确关闭它。 Popover 控制器专用于 iPad 设备。尝试在其他设备上创建一个会导致异常。
如果您想在点击按钮 2 时执行任何操作,最简单的方法是将按钮 2 移动到弹出框内容的顶部。这样,您可以在用户点击 Button 2 时显式关闭弹出框,并在那里执行您自己的自定义操作。
【讨论】:
以上是关于出现弹出框时 UI 没有响应的主要内容,如果未能解决你的问题,请参考以下文章
NSWindow 在关闭 NSPopover 后失去了第一响应者
单击外部弹出框时如何防止 UIPopoverPresentationController 被关闭?
当 UIViewController 显示弹出框时,更改 CALayer 颜色与 UIView tintColor 同步