当前位置: 代码迷 >> Iphone >> 施用定时器隐藏控件的疑惑
  详细解决方案

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

热度:59   发布时间:2016-04-25 06:07:06.0
使用定时器隐藏控件的疑惑
我是想达到这种效果:
点击屏幕后显示按钮(原先为隐藏),同时启动定时器。
若接下来没有再点击屏幕,则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
  相关解决方案