我有一个包含 wkWebView 的 iOS 应用程序。这个 wkWebView 具有可以弹出打开 SafariViewController 实例的链接。当 SafariViewController 启动并且您向右滑动以关闭时,有时它可以工作,但有时它会变黑。
我尝试了将 interactivePopGestureRecognizer.enabled 设置为 false 的多种变体。还将其代表设置为零。
我有具有断点的委托方法,它们都没有被击中。
我想完全禁用此功能。
我有一个包含 wkWebView 的 iOS 应用程序。这个 wkWebView 具有可以弹出打开 SafariViewController 实例的链接。当 SafariViewController 启动并且您向右滑动以关闭时,有时它可以工作,但有时它会变黑。
我尝试了将 interactivePopGestureRecognizer.enabled 设置为 false 的多种变体。还将其代表设置为零。
我有具有断点的委托方法,它们都没有被击中。
我想完全禁用此功能。
这似乎是iOS中的一个错误。您可以尝试解决方法,即
Add SafariViewController into the rootController of NavigationController
Then present the NavigationController instead of SafariViewController.
这是我用来禁用边缘滑动手势的临时解决方法。只要使用 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;
}
}
}