读书人

施用定时器隐藏控件的疑惑

发布时间: 2013-01-23 10:44:49 作者: rapoo

使用定时器隐藏控件的疑惑
我是想达到这种效果:
点击屏幕后显示按钮(原先为隐藏),同时启动定时器。
若接下来没有再点击屏幕,则3秒后隐藏按钮;若在控件消失前(3秒内)再点击屏幕,那么计时器就重新计时.。。

可是现在出现了这样的情况,连续点击屏幕,3秒后,在连续点击序幕的过程中,按钮会不间断消失,出现,消失,出现。。。。我想是因为之前的定时器让它消失的原因。。。

这是我的代码:请各位指教,谢谢!

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"touchesEnded");
buttom.hidden=NO;



timer = [NSTimer scheduledTimerWithTimeInterval: 3.0f

target: self

selector: @selector(handleTimer:)

userInfo: nil

repeats: NO];


}

- (void) handleTimer: (NSTimer *) timer

{

//在这里进行处理
buttom.hidden=YES;
[timer invalidate];
timer = nil;

}


[解决办法]
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"touchesEnded");
btn.hidden=NO;


[timer invalidate];
timer = nil;

timer = [NSTimer scheduledTimerWithTimeInterval: 3.0f

target: self

selector: @selector(handleTimer:)

userInfo: nil



repeats: YES];


}

- (void) handleTimer: (NSTimer *) timer
{
NSLog(@"handleTimer");
//在这里进行处理
btn.hidden=YES;
}

读书人网 >Iphone

热点推荐