iOS:与UIButton的UIControlEventTouchUpOutside事件不一致的行为

iOS:与UIButton的UIControlEventTouchUpOutside事件不一致的行为,第1张

概述我想从UIButton获得双重功能. 当用户触摸按钮时,我希望它立即触发行为A. 但是如果用户在释放之前将手指拖到按钮之外,我还想在释放后触发行为B. 所以, [presetButton addTarget: self action: @selector( presetButtonHit: ) forControlE 我想从UIbutton获得双重功能.

当用户触摸按钮时,我希望它立即触发行为A.

但是如果用户在释放之前将手指拖到按钮之外,我还想在释放后触发行为B.

所以,

[presetbutton addTarget: self                          action: @selector( presetbuttonHit: )               forControlEvents: UIControlEventtouchDown ];          [presetbutton addTarget: self                          action: @selector( presetbuttonSwipe: )               forControlEvents: UIControlEventtouchUpOutsIDe ];

作为测试用例,我将简单地从相应的 *** 作方法中记录“A”或“B”.

总是被正确击中.

但是,B是零星的.我可以有条不紊地用手指向下,拖出按钮,等待一秒钟然后松开.它通常不会发火.或者,如果我快速轻d,它更有可能发射.但仍然是50-50.

我只有一个带有背景图像和六个按钮的UIVIEw.

我该怎么做才能跟踪这个?

我宁愿到达它的底部而不是手动跟踪上下触摸的混乱;但如果我必须这样做,有什么干净的方式吗?从我所看到的它将是一个皇家PITA,我将不得不弄清楚触摸上/下是否在我的按钮的触摸上/下击中,设置标志等之前被击中.

解决方法 这是重复的
Strange UIButton behavior: Is that normal?,但我建议保留它,因为问题标题措辞良好.

当我的手指按下按钮时,图像变暗

当我把手指拉开时,当我通过一个不可见的圆周一个明确的厘米,更多的超出按钮的框架,图像恢复到原来的颜色

这是“通过在释放前将手指移开足够远来取消触摸”的典型行为

如果你在这个区域内释放手指,它将触发内部的触摸.外面的SIM卡.

看起来苹果并没有预料到任何人会使用这些方法从UIbutton获得双重功能.

现在,有没有简单的方法来捕捉动作中的XY触摸坐标.该 *** 作只接收按下的按钮的ID.

但这是一种优雅的方式:

http://sree.cc/iphone/handling-touche-events-for-uibuttons-in-iphone

UIControl具有检测拖动开始/移动/停止的方法.您可以覆盖它们并获取屏幕坐标.

总结

以上是内存溢出为你收集整理的iOS:与UIButton的UIControlEventTouchUpOutside事件不一致的行为全部内容,希望文章能够帮你解决iOS:与UIButton的UIControlEventTouchUpOutside事件不一致的行为所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1033539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存