我能想到的最好的方法是在touchesBegan事件方法中启动计时器。如果计时器在touchesEnded事件到达之前到期,那么您就知道用户正在按住屏幕。如果调用touchesMoved事件,则只需重置计时器,以便仅检测按下并保持不动。

iOS SDK中是否内置任何功能来处理此问题?还是任何人能想到的更好,更简单,更快的方法?

在此先感谢您的帮助!

最佳答案

尝试使用UILongPressGestureRecognizer

UILongPressGestureRecognizer* gr = [[UILongPressGestureRecognizer alloc]
                                    initWithTarget:theTarget
                                            action:@selector(someAction:)];
// change options of gr if you like.
// default: tolerate movement up to 4 px, fire the event after 0.4 secs.
[theView addGestureRecognizer:gr];
[gr release];


当用户长按[theTarget someAction:gr]时将被调用。

关于iphone - 我如何感觉到用户在移动时将手指按住在屏幕上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3104135/

10-11 14:37