【发布时间】:2013-07-19 08:30:20
【问题描述】:
共有三个 UIButton 事件可用:
UITouchUPInsideUITouchDownUITouchDownRepeat
我的问题是:
我有一个按钮(播放-暂停)。第一次显示播放按钮时,如果用户点击它,它会启动我的进程。并且按钮图像更改为暂停,标签更改为 1。
如果用户点击暂停按钮,它会暂停进程,图像更改为播放并标记为 0。
现在我的问题是,如果用户多次点击,它无法正常执行。就像双击桌面鼠标一样。
我已经尝试了上述所有三种方法,但在所有这些时间里,前两种方法都被调用了。那么如何避免呢。
如果它双击,那么进程也应该只启动一次。
请提出建议。
编辑:
目前我们只使用TouchUpInside 事件,我们正在检查
if (btn.tag == 0) {
// change to pause button
// start process
btn.tag = 1;
}
else if (btn.tag == 1) {
// change to play button
// stop process
btn.tag = 0;
}
但是当用户快速点击按钮时,这会导致问题。因为我的进程是在线程上运行的,所以加载和停止需要时间。同时使用已经双击了按钮。
【问题讨论】:
-
通常用户只对按钮进行单击,如果在某些情况下支持双击,则它们的行为与单击不同。你想要的是对这两个动作做同样的动作。我认为你不应该让它变得复杂。
-
检查我已将我的问题简单地添加为编辑;
-
如果您不遵循界面指南,我认为 Apple 不会喜欢它。要求双击按钮会使用户感到困惑。
标签: ios uibutton uitouch uievent