1
我正在创建一个具有一些UIBarButton项目的应用程序,其中一些将在按下时启动UIPopoverController。我希望这样做可以禁用任何可以与之交互的功能,这主要是默认情况下发生的。不过,我注意到,当弹出窗口处于活动状态时,同一工具栏中的其他UIBarButtonItem仍将处于活动状态。我试着添加:显示它,但UIPopover不会阻止按下UIBarbutton项目
[_popOver setPassthroughViews:nil];
之前UIBarButtonItems仍然能够同时显示弹出了被按下。我意识到我可以禁用按钮,但我宁愿不必这样做,因为在每种弹出窗口都打开时,我必须引入各种不必要的状态。在弹出窗口外部选择任何内容(包括其他UIBarButtonItems)时,是否有任何方法可以解除弹出窗口?
Basic代码瑞普问题:
- (IBAction)rightButtonPressed:(id)sender {
UIViewController *vc = [[UIViewController alloc] init];
_popOver = [[UIPopoverController alloc] initWithContentViewController:vc];
[_popOver setPassthroughViews:nil];
[_popOver presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
- (IBAction)leftButtonPressed:(id)sender {
NSLog(@"Why am I active while pop-over is visible?");
}
两个栏按钮项添加到同一个导航栏。