我有一个带有主 - 详细视图的导航控制器。详细视图的导航栏显示左侧的后退按钮,我在右侧使用带有UIPopoverController的UIBarButtonItem来获取其他功能。
右键正确显示弹出框,按下视图中的任意位置即可关闭弹出窗口。
我的问题是,当弹出窗口处于活动状态时,导航栏后退按钮仍处于活动状态。因此,当用户试图关闭弹出窗口并按下栏后退按钮时,导航控制器将展开回到主视图并且弹出窗口仍然可见!
我尝试将popover放在视图内部的UIButton而不是导航栏上,并且行为符合预期:如果您尝试通过按任意位置关闭弹出框,即使在导航后退按钮上,也会关闭弹出框(而不是调用后退按钮并展开到主视图)
在任何一种情况下,我都使用故事板通过控制从按钮(UIBarButton或UIButton)拖动到目标视图控制器来创建Popover。
这是预期还是我做错了?
谢谢!
答案 0 :(得分:3)
当UIPopoverController
或UINavigationBar
显示UIToolBar
时,默认情况下会将栏添加到passthroughViews
属性中。
在UIPopoverController
的加载/显示时清除此属性应该可以解决您的问题。