如何手动关闭 UIViewController.popoverPresentationController.



对于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];
}

相关内容

  • 没有找到相关文章

最新更新