首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么方法可以禁用弹出拖动吗?

有什么方法可以禁用弹出拖动吗?
EN

Stack Overflow用户
提问于 2020-10-12 04:57:59
回答 1查看 141关注 0票数 1

我正在创建一个使用webview的应用程序。我的第一个webview (主要的),只用于一个简单的网站。然而,当我点击某个链接时,我会打开一个交互式地图(也是在网页视图中)。我喜欢打开新的webview作为弹出窗口,我在这方面很成功,方法是:

代码语言:javascript
复制
    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也会对相同的手势和动作做出反应,这不是我想要的行为。有没有办法固定弹出窗口的位置,这样它就不会对用户的手势做出反应?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 08:12:38

如果您可以删除

代码语言:javascript
复制
vc.modalPresentationStyle = .popover

因为它基本上与锚定到现有视图的默认模式表示相同。

然后,您可以通过禁用用于拖放解除的默认手势识别器来实现这一点:

代码语言:javascript
复制
// Modify your last line...
present(vc, animated: true, completion: {
    // Disable drag gesture recognizer
    vc.presentationController?.presentedView?.gestureRecognizers?[0].isEnabled = false
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64308939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档