对于iPad,在纵向模式下,我将左侧视图控制器(主控制器(隐藏,只显示其弹出框PresentationController。这工作正常。 但是在横向模式下,我希望我的主控制器以全视图显示,并且其弹出框演示控制器被隐藏。但这似乎是不可能的。我试过了
[self.masterViewController dismissViewControllerAnimated:self.masterViewController.popoverPresentationController completion:nil];
但这行不通。左窗格为空。我试图在上面的代码中关闭弹出窗口后添加这两行,但左窗格中仍然没有任何内容:
[self.masterViewController dismissViewControllerAnimated:self.masterViewController.popoverPresentationController completion:nil];
有人知道如何手动关闭弹出框演示控制器,就像用户在弹出框外单击一样?
我在父视图控制器中使用以下代码:
IdentifyDeviceViewController *vc=[[IdentifyDeviceViewController alloc]init];
vc.modalPresentationStyle=UIModalPresentationPopover;
vc.preferredContentSize = CGSizeMake(414, 672); vc.popoverPresentationController.sourceRect=CGRectMake(self.view.bounds.origin.x, self.view.bounds.origin.y+190, 0, 0);
vc.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
vc.popoverPresentationController.sourceView=self.view;
vc.popoverPresentationController.delegate=self;
[self.navigationController presentViewController:vc animated:YES completion:nil];
然后在 IdentifyDeviceViewController 中使用以下代码进行 backTap:
- (void)backTap {
[self.popoverPresentationController.presentedViewController dismissViewControllerAnimated:YES completion:nil];
}