我有一个UISplitViewController。在详细信息面板中,我在底部有一个UIToolbar。 BarButtonItems之一通过performSegue方法启动UIPopoverController。
弹出窗口的子视图控制器在其modalInPopover方法中返回YES。在弹出框之外点击不会将其关闭,但是即使在弹出框被认为是“模态”的情况下,在UIToolbar中点击任何栏按钮项仍会执行该栏按钮项的功能。
如果为modalInPopover设置为NO,则单击除条形按钮项目以外的任何位置都将关闭弹出窗口;否则,将关闭弹出窗口。但是,点击条形按钮上的项仍将起作用,并且弹出窗口仍然可见。
没有设置直通视图。当弹出窗口可见时,我不明白这些条形按钮仍如何工作。任何建议或见解将受到欢迎。
最佳答案
我遇到了完全相同的问题,实际上我找不到一种干净的方法。我可以建议在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;
}
}
我希望这有帮助。
关于ios - modalInPopover = YES仍允许 Storyboard 布局上的UIToolbar事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22181411/