2012-06-20 61 views
0

我有一個標籤00:00.0和按鈕。當我按下按鈕時,定時器應該在標籤上進行計數,無論我要做多少次點擊。當我點擊標籤時,計時器應該停止,並且應該在同一標籤上的第二次點擊時重置。具有特定控件的NSTimer秒錶

我嘗試了一切,但我無法達到結果:)有人請幫助我。

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> { 
    IBOutlet UILabel *stopWatchLabel; 
    NSTimer *stopWatchTimer; // Store the timer that fires after a certain time 
    NSDate *startDate; // Stores the date of the click on the start button 
} 

@property (nonatomic, retain) IBOutlet UILabel *stopWatchLabel; 
    - (IBAction)onStartPressed:(id)sender; 
    - (IBAction)onStopPressed:(id)sender; 
    - (void)updateTimer; 
+2

爲什麼不粘貼你試過的一些代碼? –

回答

1
-(IBAction)onStartpressed:(id)sender{ 
    NSTimer * timer = [[NSTimer alloc] initWithFireDate:[NSDate date] interval:1.0 target:self selector:@selector(methodthatUpdateslabel) userInfo:nil repeats:YES]; 
    [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode]; 

}  

-(IBAction)onStopPressed:(id)sender{ 
[timer invalidate]; 
} 

這應該做它希望它幫助。

1

在我的活動項目中引用一些代碼。

-(void)start{ 
     [self setup]; 
     if(_timer == nil){ 
      _timer = [NSTimer scheduledTimerWithTimeInterval:kDefaultFireInterval target:self selector:@selector(updateLabel:) userInfo:nil repeats:YES]; 
      _counting = YES; 
     } 
    } 


    -(void)pause{ 
     [_timer invalidate]; 
     _timer = nil; 
     _counting = NO; 
    } 

,如果你想使用的UILabel可用作秒錶這是實現秒錶的基本概念, MZTimerLabel對你來說是最完美的兩個線的解決方案。看一看。

乾杯。