我有一个关于视图触摸的查询:

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

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

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

我需要实现:当触摸从A到达B时,A的touchesEnd应该被触发,B的触头应该被触发,反之亦然。我在各自的方法中都有自己的逻辑,有人可以建议如何实现相同的方法。

最佳答案

这是故意行为。通常,如果您触摸“取消”按钮,并且在抬起手指时手指滑到了“删除”按钮上,那么您就不会意外删除某些内容。

但是,我遇到这样的情况,我确实希望这样传递触摸。就像@ejazz一样,我将工作移到同时包含A和B的视图。这启用了用户交互,并实现了touchesBegantouchesMovedtouchesEnded

当触摸移到子视图上时,它发送了适当的消息。我只是打开和关闭了子视图,但如有必要,您应该能够在相应的子视图上调用touchesBegantouchesMovedtouchesEnded。如果您需要知道触摸何时开始和结束,则需要跟踪与每次触摸相关的先前视图-或仅调用其previousLocationInView:方法。

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

10-12 06:03