我正在创建一个使用webview的应用程序。我的第一个webview (主要的),只用于一个简单的网站。然而,当我点击某个链接时,我会打开一个交互式地图(也是在网页视图中)。我喜欢打开新的webview作为弹出窗口,我在这方面很成功,方法是:
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "PopoverViewController")
vc.modalPresentationStyle = .popover
let popover: UIPopoverPresentationController = vc.popoverPresentationController!
present(vc, animated: true, completion:nil)但是这个网页视图包含地图,这需要一些用户手势,如滑动等。但popover也会对相同的手势和动作做出反应,这不是我想要的行为。有没有办法固定弹出窗口的位置,这样它就不会对用户的手势做出反应?
发布于 2020-10-12 08:12:38
如果您可以删除
vc.modalPresentationStyle = .popover因为它基本上与锚定到现有视图的默认模式表示相同。
然后,您可以通过禁用用于拖放解除的默认手势识别器来实现这一点:
// Modify your last line...
present(vc, animated: true, completion: {
// Disable drag gesture recognizer
vc.presentationController?.presentedView?.gestureRecognizers?[0].isEnabled = false
})https://stackoverflow.com/questions/64308939
复制相似问题