我有一个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/

10-10 20:48