1

我有一个包含 wkWebView 的 iOS 应用程序。这个 wkWebView 具有可以弹出打开 SafariViewController 实例的链接。当 SafariViewController 启动并且您向右滑动以关闭时,有时它可以工作,但有时它会变黑。

我尝试了将 interactivePopGestureRecognizer.enabled 设置为 false 的多种变体。还将其代表设置为零。

我有具有断点的委托方法,它们都没有被击中。

我想完全禁用此功能。

4

2 回答 2

2

这似乎是iOS中的一个错误。您可以尝试解决方法,即

Add SafariViewController into the rootController of NavigationController
Then present the NavigationController instead of SafariViewController.
于 2016-03-18T02:37:30.400 回答
0

这是我用来禁用边缘滑动手势的临时解决方法。只要使用 Done 按钮关闭,这似乎不是问题。

let viewController = SFSafariViewController(URL: url)  
presentViewController(viewController, animated: true) {  

 for view in viewController.view.subviews {  

      if let recognisers = view.gestureRecognizers {  

           for gestureRecogniser in recognisers where gestureRecogniser is UIScreenEdgePanGestureRecognizer {  

                gestureRecogniser.enabled = false  
           }  
      }  
 }  

}

 OC:
 for (UIView * view in safari.view.subviews) {

            NSArray<__kindof UIGestureRecognizer *> * array = view.gestureRecognizers;
            if (array.count) {
                for (UIScreenEdgePanGestureRecognizer * sepgr in array) {
                    sepgr.enabled = NO;
                }
            }
        }

iOS 9.2 中的 SFSafariViewController | 苹果开发者论坛

于 2017-10-27T12:16:07.173 回答