如何防止通过推送 SFSafariViewController 解雇 UITabBarController?
Posted
技术标签:
【中文标题】如何防止通过推送 SFSafariViewController 解雇 UITabBarController?【英文标题】:How to prevent dismissal of UITabBarController by pushed SFSafariViewController? 【发布时间】:2019-04-19 12:23:57 【问题描述】:我正在将SFSafariViewController
推入UITabBarController
。但是单击 Safari Done 按钮会关闭 UITabBarController
。如何预防?
【问题讨论】:
如果你推它,而不是弹出而不是关闭 【参考方案1】:如果您要推送SFSafariViewController
,请尝试使用popViewController
而不是dismiss
self.navigationController?.popViewController(animated: true)
或者你可以present
SFSafariViewController
而不是推送它
safariViewController.modalTransitionStyle = .crossDissolve
safariViewController.modalPresentationStyle = .overCurrentContext
self.present(safariViewController, animated: false, completion:nil)
【讨论】:
1. Safari 视图控制器总是调用dismiss,我无法避免它 2. 目前以模态方式显示 Safari 视图控制器,底部标签栏是隐藏的,因此无法在栏项目之间切换 @PeterBalogh 尝试将modalPresentationStyle
设置为overCurrentContext
它会解决您的问题。相应地编辑了答案
overCurrentContext 演示样式有帮助 :-) 不幸的是,出现了另一个问题:当 safari 视图打开时,我切换到另一个栏项目视图,而不是切换回 safari 视图并关闭它,而不是当前视图未显示,选项卡为空。我必须切换到另一个栏项,而不是切换回显示视图。以上是关于如何防止通过推送 SFSafariViewController 解雇 UITabBarController?的主要内容,如果未能解决你的问题,请参考以下文章
Git 分支提示位于其远程对应项的后面,并且正在防止“推送”