使用 Swift 关闭 SFSafariViewController 时是不是可以编辑动画?

Posted

技术标签:

【中文标题】使用 Swift 关闭 SFSafariViewController 时是不是可以编辑动画?【英文标题】:Is it possible to edit the animation when dismissing SFSafariViewController using Swift?使用 Swift 关闭 SFSafariViewController 时是否可以编辑动画? 【发布时间】:2020-10-28 18:04:58 【问题描述】:

我的项目中有一些我宁愿保留的自定义动画,但是当从另一个视图导航回来时,动画会在我自己的动画之前发生,从而导致笨拙的延迟。我有这样的自定义视图的解决方案。

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(backTapped))
@objc func backTapped() 
        navigationController?.popViewController(animated: false)

但是,我不确定是否可以覆盖 SFSafariViewController 的后退按钮。这可能吗,还是我需要转到自定义 webview 并在那里处理代码?

【问题讨论】:

【参考方案1】:

像往常一样进行一些控制可以解决您的问题,请尝试。

@objc func backTapped() 
        if(webview.canGoBack) 
             webview.goBack()
         else 
             self.navigationController.popViewController(animated:false)
        

【讨论】:

问题是它是一个 SFSafariViewController()。我没有对该视图控制器内部的代码访问权限,因此无法向其添加功能。或者,如果可以,我不确定我该怎么做。 它应该是一个webView,你可以访问它吗? 那种。您可以使用它来代替 web 视图。 developer.apple.com/documentation/safariservices/… 但是,如果我制作了自定义 webview,我将无法访问该课程。

以上是关于使用 Swift 关闭 SFSafariViewController 时是不是可以编辑动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何在模型中使用 swift 协议 [关闭]

使用 Swift 发送电子邮件 [关闭]

如何使用 Swift 创建 MIDI 文件? [关闭]

使用异步方法关闭 (Swift 2.0)

使用 Swift 通过触摸任意位置来关闭 iOS 键盘

使用 Swift 4 关闭 iOS 中的所有模式