Ios 按下按钮3秒钟
我有一个包含值170.00的UILabel。我现在想创建一个按钮,当按下3秒时,该按钮将值设置为0。显然,用按钮更改标签的值很容易,但我如何添加必须按下至少3秒的条件 最终结果应该类似于计算器的重置按钮,当按下3秒或更长时间时,该按钮将重置存储的用户值 我甚至不知道从哪里开始?斯泰默Ios 按下按钮3秒钟,ios,uibutton,Ios,Uibutton,我有一个包含值170.00的UILabel。我现在想创建一个按钮,当按下3秒时,该按钮将值设置为0。显然,用按钮更改标签的值很容易,但我如何添加必须按下至少3秒的条件 最终结果应该类似于计算器的重置按钮,当按下3秒或更长时间时,该按钮将重置存储的用户值 我甚至不知道从哪里开始?斯泰默 谢谢 正确,请使用NSTimer。我不打算为您编写代码,但您应该执行以下操作: 按下按钮后,启动计时器 松开按钮后,结束/清除计时器。 NSTimer使用选择器在间隔上运行。因此,您可以在3秒钟后运行它,如果使用该
谢谢 正确,请使用NSTimer。我不打算为您编写代码,但您应该执行以下操作: 按下按钮后,启动计时器 松开按钮后,结束/清除计时器。 NSTimer使用选择器在间隔上运行。因此,您可以在3秒钟后运行它,如果使用该方法,您可以更改UILabel文本。
正确,请使用NSTimer。我不打算为您编写代码,但您应该执行以下操作: 按下按钮后,启动计时器 松开按钮后,结束/清除计时器。 NSTimer使用选择器在间隔上运行。因此,您可以在3秒钟后运行它,如果使用该方法,您可以更改UILabel文本。
例如,您可以简单地使用NSTimer。当按下按钮时,为iAction使用适当的事件,启动NSTimer,在3秒钟后做一些事情。但当松开按钮时, 你使计时器失效。因此,如果之前松开按钮,计时器将停止。
否则,事件将启动,计时器将失效,因此当您松开按钮时,计时器已停止。只需使用NSTimer即可。当按下按钮时,为iAction使用适当的事件,启动NSTimer,在3秒钟后做一些事情。但当松开按钮时, 你使计时器失效。因此,如果之前松开按钮,计时器将停止。
否则,事件将启动,计时器将失效,因此当您松开按钮时,计时器已停止。您可以在不使用计时器的情况下执行此操作:
-(IBAction)buttonDown:(id)sender {
[self.label performSelector:@selector(setText:) withObject:@"0" afterDelay:3];
}
-(IBAction)buttonUp:(id)sender {
[NSObject cancelPreviousPerformRequestsWithTarget:self.label];
}
第一种方法在触地时启动,第二种方法在触地时启动,两者都连接到同一个按钮。如果在3秒钟结束前将手指从按钮上提起,则第二种方法将触发并取消延迟选择器。您可以这样做,而无需定时器:
-(IBAction)buttonDown:(id)sender {
[self.label performSelector:@selector(setText:) withObject:@"0" afterDelay:3];
}
-(IBAction)buttonUp:(id)sender {
[NSObject cancelPreviousPerformRequestsWithTarget:self.label];
}
第一种方法在触地时启动,第二种方法在触地时启动,两者都连接到同一个按钮。如果在3秒钟结束前将手指从按钮上提起,则第二种方法将触发并取消延迟选择器。当按钮按下开始时,使用performSelector:withObject:afterDelay:method。释放按钮时,使用cancelPreviousPerformRequestsWithTarget:。这样,您就不必担心NSTimer,尽管它可能会被框架使用当按钮按下开始时,使用PerformSelect:withObject:afterDelay:method。释放按钮时,使用cancelPreviousPerformRequestsWithTarget:。这样,您就不必担心NSTimer,尽管它可能会被框架使用为什么不在3秒后启动计时器呢?我是从内存中工作的,我想可能间隔是一个枚举。但你是对的。为什么不在3秒钟后启动计时器呢?我是在记忆中工作的,我想可能间隔是一个枚举。但你是对的。