我有一个iOS应用程序,它拥有一个wkWebView。这个wkWebView有链接,可以弹出一个SafariViewController实例。当SafariViewController启动并向右滑动以解除时,它有时会起作用,但有时会变黑。
我尝试过将interactivePopGestureRecognizer.enabled设置为false的多种变体。还将其委托设置为nil。
我有一些具有断点的委托方法,但没有一个被击中。
我想完全禁用此功能。
答案 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;
}
}
}