可能重复:
How to stop responding to a shake before a button is pressed?
我有一个应用程序,目前如果你点击“播放”按钮标签显示'摇一摇'问题是我是一个初学者,我不知道如何订购它所以用户必须先按下按钮,然后当标签显示时,如果用户摇动标签消失。这就是我所需要的,因为我之后已经整理了应用程序的其他部分。感谢任何帮助的人,请记住我很新,所以请解释任何答案:)谢谢
答案 0 :(得分:0)
显而易见的方法是创建一个iVar或@property,并且在按下“播放”按钮时发生的操作中,将iVar / @属性设置为YES。在motionBegan中:withEvent:在你检测到震动的地方,如果iVar / @属性不是YES,只需返回而不执行摇动动作。当您接受用户在适当的时间动摇时,将标签设置为隐藏。
答案 1 :(得分:0)
创建BOOL类型的实例变量。叫它,比方说,playIsTouched。在视图控制器的viewDidLoad方法中将其设置为NO。在处理“播放”按钮的触摸的方法中,将playIsTouched设置为YES。在处理抖动的方法中,仅当playIsTouched == YES时才使标签消失。在同一方法中,您可能希望将playIsTouched设置为NO(如果您希望用户在摇动之前再次触摸该按钮)。