【问题标题】:How to prevent dismissal of UITabBarController by pushed SFSafariViewController?如何防止通过推送 SFSafariViewController 解雇 UITabBarController?
【发布时间】:2019-04-19 12:23:57
【问题描述】:

我正在将SFSafariViewController 推入UITabBarController。但是单击 Safari Done 按钮会关闭 UITabBarController。如何预防?

【问题讨论】:

  • 如果你推它,而不是弹出而不是关闭

标签: swift xcode uitabbarcontroller sfsafariviewcontroller


【解决方案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 视图并关闭它,而不是当前视图未显示,选项卡为空。我必须切换到另一个栏项,而不是切换回显示视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多