我正在开发应用程序,在该应用程序中我必须在 3 秒后隐藏控制按钮,所以我使用 NSTimer 编写代码并开始触摸它并且它工作但问题是当我再次触摸任何其他按钮时,我的计时器不会重置,即使我像拖动一样移动我的触摸示例。
如果我拖动或移动触摸它应该重置计时器但它不会。
我发现如果我连续触摸其他区域(但它在控制按钮上不起作用)如果我连续触摸控制按钮仍然在 3 秒后隐藏它,则此实现工作。如何解决这个问题。我也希望事件在按钮单击时触发。
编辑我自己解决了我的问题..我在按钮单击扇区上添加了这段代码,它可以工作..
谢谢大家的支持
if(screenTimer)
{
[screenTimer invalidate];
screenTimer = nil;
screenTimer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(turnOffScreen) userInfo:nil repeats:NO];
}
这是我的代码
// Touch began for touch event.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if(screenTimer)
{
[screenTimer invalidate];
screenTimer = nil;
}
mode1View.hidden=NO;
screenTimer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(turnOffScreen) userInfo:nil repeats:NO];
}
- (void)turnOffScreen{
NSLog(@"TURN OFF SCREEN");
if(screenTimer!=nil)
{
mode1View.hidden=YES;
}
}
任何帮助表示赞赏。谢谢