首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPanGestureRecognizer不使用UIControlEvents

UIPanGestureRecognizer不使用UIControlEvents
EN

Stack Overflow用户
提问于 2017-03-06 11:38:27
回答 1查看 284关注 0票数 0

我做了一个定制的UIControl,它使用UIControlEvents来识别某些交互。一切都很顺利。现在我还想让我的UIControl识别一个UIPanGestureRecognizer,下面是代码

代码语言:javascript
复制
fieldView.addTarget(self, action: #selector(willSelectField(sender:)), for: .touchDown)
fieldView.addTarget(self, action: #selector(didSelectField(sender:)), for: .touchUpInside)
fieldView.addTarget(self, action: #selector(canceledFieldSelection(sender:)), for: .touchUpOutside)
fieldView.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(draggingField(gesture:))))

因此,当我单击我的fieldView (自定义UIControl)时,将识别出touchDown。如果我不开始平移,touchUpInsidetouchUpOutside也会被识别。但是,如果我同意,例如,放开我的fieldView,touchUpOutside就不会被触发。

注意: touchDragInside不是另一种选择,因为它只识别在大约100 it的范围内拖动。

EN

回答 1

Stack Overflow用户

发布于 2017-03-06 12:55:10

参考文献

如果手势识别器识别其手势,则取消视图的其余触摸。

您可以尝试将cancelsTouchesInView设置为false,也可以在视图中重写touchesCancelled(_:with:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42624671

复制
相关文章

相似问题

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