iphone - 如何取消touchesMoved :withEvent:

标签 iphone objective-c ios uiview

我对 View 触摸有疑问:

我有一个parentView(框架是(0,0,768,1024)),其中包含两个 subview (A和B),A框架(0,0,512,768)带有标签100,B框架(512,0,512,768)带有标签200。

我实现了触摸方法touchesBegan:withEvent: touchesMoved:withEvent: touchesEnded:withEvent:

当我开始从 A 到 B 进行触摸时,touchesBegantouchesMoved 方法按预期触发

我需要实现:当触摸从A到达B时,A的touchesEnded应该被触发,B的触摸开始应该被触发,反之亦然。我在各自的方法中有自己的逻辑。有人可以建议如何实现同样的目标吗?

最佳答案

这是故意的行为。通常,如果您触摸取消按钮,并且在抬起时手指滑到删除按钮上,您肯定不想意外删除某些内容。

但是,我曾经遇到过这样的情况:我确实希望触摸像这样传递。与 @ejazz 非常相似,我将工作移至包含 A 和 B 的 View 。这启用了用户交互,并实现了 touchesBegantouchesMovedtouchesEnded.

当触摸移动到 subview 上时,它会发送适当的消息。我只是打开和关闭 subview ,但如果需要,您应该能够在适当的 subview 上调用 touchesBegantouchesMovedtouchesEnded 。如果您需要知道触摸何时开始和结束,则需要跟踪与每次触摸关联的上一个 View - 或者只需调用其 previousLocationInView: 方法。

关于iphone - 如何取消touchesMoved :withEvent:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083894/

相关文章:

iphone - iTunes 评论 URL 和 iOS 7(要求用户评价我们的应用程序)AppStore 显示空白页面

ios - 如何并行跟踪两个 NSProgress?

ios - Swift UICollectionView 水平滚动单元格标签宽度根据标签内容长度动态变化

ios - Swift - MKAnnotationView map 图钉的自定义 UIView

iOS Realm 结果<对象> 无法添加结果<项目>

ios - 只使用 CLImageEditor 中的一个工具

iphone - 什么是差异。 b/w @property(非原子,分配)和@property(非原子,保留)

iphone - 如何让应用程序在后台响铃?

iphone - Objective c 无法定义宏

objective-c - 使 UIImage 小于 UIImageView 以查看背景