首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

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

2013-01-23 
使用定时器隐藏控件的疑惑我是想达到这种效果:点击屏幕后显示按钮(原先为隐藏),同时启动定时器。若接下来没

使用定时器隐藏控件的疑惑
我是想达到这种效果:
点击屏幕后显示按钮(原先为隐藏),同时启动定时器。
若接下来没有再点击屏幕,则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;    
}

热点排行