使用touchesmoved 时Touchesbegan 总是会触发?
我是 iPhone 编程新手。 我正在尝试制作一个简单的窗口,其中一只猫发出两种声音。当您单击猫图标时,它应该发出“miaau”,当您在窗口上拖动(描边)时,它应该发出“mrrrr”。 它有效,但总是当我尝试使 cat mrrrrr 函数 TouchesBegan 起火时,猫也会做“miaaau”。
如何使界面识别出我只想抚摸猫,而不是触摸它来执行第一个选项“miaau”?
I'm new to iPhone programing.
I'm trying to do a simple window with a cat doing two sounds. When you click at the cat icon it should do "miaau", and when wou drag over window (stroke) it should make "mrrrr".
It works, but always when I try to make cat mrrrrr function TouchesBegan fires and cat also do "miaaau".
What to do to make the interface recognize I want only stroke cat, not to touch it for doing the first option, "miaau"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议以较小的时间间隔(例如 0.1 秒)将 NSTimer 添加到 TouchBegan 方法:
或者作为 UIGestureRecognizers 的选项检查文档
I suggest to add a NSTimer to touchesBegan method with small time interval (say 0.1 sec):
Or as an option check docs for UIGestureRecognizers
这可能会帮助您
touchesBegan何时变成touchesMoved?
touchesBegin & TouchMove Xcode Obj C 问题
This may help you
When does a touchesBegan become a touchesMoved?
touchesBegin & touchesMove Xcode Obj C Question
Max 的解决方案是正确的。它肯定会起作用。我有一个替代方案,请参阅此方法。
在 .h 文件中创建玩家对象,然后在 viewDidLoad 中分配它并在 dealloc 中释放。
编辑
.h文件、
.m文件
Max' solution is correct. It will definitely work. I am having an alternative, see this approach.
Make your player object in an .h file then allocate it in viewDidLoad and release in dealloc.
Edit
.h file,
.m file