HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 触摸时没有调用的UIButton触摸操作,但触摸移动时调用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
用户触摸DOWN UIButton时,您需要执行操作
[button addTarget:self action:@SELEctor(touchDown:event:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@SELEctor(drag:event:) forControlEvents:UIControlEventTouchDragInside];
[button addTarget:self action:@SELEctor(drag:event:) forControlEvents:UIControlEventTouchDragOutside];
[button addTarget:self action:@SELEctor(touchUp:event:) forControlEvents:UIControlEventTouchUpInside];
[button addTarget:self action:@SELEctor(touchUp:event:) forControlEvents:UIControlEventTouchUpOutside];

- (void)touchDown:(UIButton *)sender event:(UIEvent *)event {
    //begin only called when I move my finger 
}


- (void)drag:(UIButton *)sender event:(UIEvent *)event {
    //called when I move my finger,after touchDown was called
}
- (void)touchUp:(UIButton *)sender event:(UIEvent *)event {

}

我的应用程序的根视图控制器是tabbarviewcontroller,每个选项卡都是导航视图控制器.在聊天场景的viewWillAppear方法中,我隐藏了标签栏.

结果是,在设备上,当我触摸时,它没有被调用,当我移动我的手指时,它被调用.

注意:

>使用长按手势识别器也不起作用.
>如果我将按钮远离标签栏区域,它可以在设备上运行.
>在模拟器上,一切都很好.

我创建了一个示例项目:
https://drive.google.com/folderview?id=0B_9_90avvmZtRmRDeHFkbFJLaFk&usp=sharing

解决方法

滚动视图中是否包含此按钮(包括集合或tableview)?如果是这样,那么这正是预期的行为.系统等待您查看是否要点击按钮或拖动滚动视图.来自Apple:

如果您不想要此行为,可以将parentview.delaysContentTouches设置为NO您可能还需要将canCancelContentTouches设置为NO

大佬总结

以上是大佬教程为你收集整理的ios – 触摸时没有调用的UIButton触摸操作,但触摸移动时调用全部内容,希望文章能够帮你解决ios – 触摸时没有调用的UIButton触摸操作,但触摸移动时调用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。