Safari View Controller向左滑动以消除黑色

时间:2016-01-29 15:26:52

标签: ios objective-c sfsafariviewcontroller

我有一个iOS应用程序,它拥有一个wkWebView。这个wkWebView有链接,可以弹出一个SafariViewController实例。当SafariViewController启动并向右滑动以解除时,它有时会起作用,但有时会变黑。

我尝试过将interactivePopGestureRecognizer.enabled设置为false的多种变体。还将其委托设置为nil。

我有一些具有断点的委托方法,但没有一个被击中。

我想完全禁用此功能。

2 个答案:

答案 0 :(得分:2)

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

Add SafariViewController into the rootController of NavigationController
Then present the NavigationController instead of SafariViewController.

答案 1 :(得分:0)

  

这是我用来禁用边缘滑动手势的临时解决方法。只要使用完成按钮来消除它,它似乎不是问题。

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;
                }
            }
        }

SFSafariViewController in iOS 9.2 | Apple Developer Forums