Я представляю всплывающий контроллер (с ViewController.modalPresentationStyle = UIModalPresentationPopover;
) из действия кнопки левой панели. И в действии кнопки правой панели я запускаю push-переход. В идеале, когда всплывающее окно отображается, взаимодействие с представлениями позади всплывающего окна не должно происходить. Но даже если всплывающее окно видно, я могу щелкнуть кнопку правой панели и нажать новый контроллер представления, не закрывая всплывающее окно.
Мой код
- (UIViewController *)menuViewController {
if (!_menuViewController) {
_menuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"TableViewController"];
_menuViewController.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popoverPresentationController = _menuViewController.popoverPresentationController;
popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
}
return _menuViewController;
}
- (IBAction)leftAction:(id)sender {
self.menuViewController.popoverPresentationController.barButtonItem = sender;
[self presentViewController:self.menuViewController animated:YES completion:nil];
}
- (IBAction)rightAction:(id)sender {
[self performSegueWithIdentifier:@"PushSegue" sender:nil];
NSLog(@"Crap here");
}
Я попытался установить контроллер презентации popover passthroughViews
в нулевой и пустой массив, но безрезультатно
Как отключить все взаимодействия, когда всплывающее окно видно?
ОБНОВЛЕНИЕ:
Это происходит, если всплывающее окно видно, и у нас есть какое-либо взаимодействие в панели навигации. Короче говоря, он принимает взаимодействие с панелью навигации, даже если всплывающее окно видно. Есть ли способ отключить это?