你应该保持沉默
NSTimer
_fadeTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(fade:) userInfo:nil repeats:NO];
确保\u fadeTimer是一个实例变量,您需要能够重置它。然后实现淡出方法:
- (void)fade:(NSTimer *)aTimer {
// Forget about timer!
_fadeTimer = nil;
[UIView beginAnimations:nil context:NULL];
// fade here
[UIView commitAnimations];
}
每次用户交互时,只需调用一个延迟淡入淡出的方法。为此,请删除并重新创建计时器。或者更改火灾日期:
- (void)delayFade {
[_fadeTimer setFireDate: [NSDate dateWithTimeIntervalSinceNow: 2.0]];
}
nil
,否则您的应用程序可能会因无效访问而崩溃。如果您需要删除重新启动的时间,请调用
invalidate