我有一个带有UIImageView的UILongPressGestureRecognizer,不管我如何配置手势识别器,它似乎都不会检测到长的按压手势。但是,如果我把它换成UITapGestureRecognizer,那么的工作就很好了。到底是怎么回事?
我就是这样配置我的UILongPressGestureRecognizer的
UIImageView* cellView = (UIImageView*)[view viewWithTag:5];
UILongPressGestureRecognizer* longPressGestureRec =
[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(cellLongPress:)];
longPressGestureRec.numberOfTapsRequired = 1;
longPressGestureRec.numberOfTouchesRequired = 1;
longPressGestureRec.minimumPressDuration = 0.4;
[cellView addGestureRecognizer:longPressGestureRec];
[longPressGestureRec release];这就是cellLongPress的样子:
-(void)cellLongPress:(UILongPressGestureRecognizer*)recognizer
{
// This never gets called.
NSLog(@"someone long pressed me");
}很直截了当,对吧?不过,到目前为止还没能成功。有什么想法吗?
发布于 2011-10-03 03:10:14
numberOfTapsRequired设置为1,这意味着用户在开始长按压之前必须点击一次(手指向下,手指向上,手指向下移动0.4秒,手势识别)。
将numberOfTapsRequired更改为0 (这是默认的)。
关于该财产,文件只说:
要识别手势所需的视图上的点击数。
但在UILongPressGestureRecognizer.h的评论中,它说:
按下要识别
的手势所需的完整点击数
https://stackoverflow.com/questions/7628874
复制相似问题