当我触摸并按住图像2秒钟时,我正试图拨打警报框.这是我到目前为止所得到的:
- (void)viewDidLoad { [super viewDidLoad]; UILongPressGestureRecognizer *tapAndHoldGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapAndHoldGesture:)]; tapAndHoldGesture.minimumPressDuration = 0.1; tapAndHoldGesture.allowableMovement = 600; [self.view addGestureRecognizer:tapAndHoldGesture]; } - (void) handleTapAndHoldGesture:(UILongPressGestureRecognizer *)gestureRecognizer{ if (gestureRecognizer.state != UIGestureRecognizerStateEnded) { return; } UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Gesture:" message:@"hold it" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; }
不确定这是否会产生任何影响,但是Image View是以后以编程方式创建的,而不是在加载时.提前感谢您的任何帮助表示赞赏..
另外,我看了以下链接:
Long press gesture on UICollectionViewCell
解决方法
-(void)viewDidLoad { [super viewDidLoad]; [self setupGesture]; } -(void) setupGesture { UILongPressGestureRecognizer *lpHandler = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleHoldGesture:)]; lpHandler.minimumPressDuration = 1; //seconds lpHandler.delegate = self; //myUIImageViewInstance - replace for your instance/variable name [**myUIImageViewInstance** addGestureRecognizer:lpHandler]; } - (void) handleHoldGesture:(UILongPressGestureRecognizer *)gesture { if(UIGestureRecognizerStateBegan == gesture.state) { // Called on start of gesture,do work here } if(UIGestureRecognizerStateChanged == gesture.state) { // Do repeated work here (repeats continuously) while finger is down } if(UIGestureRecognizerStateEnded == gesture.state) { // Do end work here when finger is lifted } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。