我有一个UISplitViewController。在详细信息面板中,我底部有一个UIToolbar。其中一个BarButtonItems通过performSegue方法启动UIPopoverController。
popover的子视图控制器在其modalInPopover方法中返回YES。在弹出窗口外部敲击不会关闭它,但是点击UIToolbar中的任何条形按钮项目仍然执行该按钮项目的功能,即使弹出窗口应该是“模态”。
如果我为modalInPopover设置NO,则点击任意位置除了条形按钮项目将关闭弹出窗口;但是,点击栏按钮项仍然有效,弹出窗口仍然可见。
没有设置passthru视图。当弹出窗口可见时,我无法理解这些条形按钮是如何工作的。任何建议或见解都会受到欢迎。
答案 0 :(得分:1)
我一直有同样的问题,实际上我找不到干净的方法。我建议您在prepareForSegue:sender:
使用UIView userInteractionEnabled
的此属性禁用工具栏的用户互动。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// disable user interaction on toolbar here
self.navigationController.navigationBar.userInteractionEnabled = NO;
}
}
我希望这会有所帮助。