#import "ShowTimeViewController.h" @interface ShowTimeViewController () @property (weak, nonatomic) IBOutlet UIButton *btnBigen; @property (weak, nonatomic) IBOutlet UILabel *lbShowTime; @property ( nonatomic ) BOOL isRunning ; @property ( strong , strong) NSTimer * curtimer ; @property ( nonatomic) int curInt ; @end @implementation ShowTimeViewController - (IBAction)clickBegin:(id)sender { if( self.isRunning) { // pause [self.curtimer invalidate]; self.isRunning = NO ; [self.btnBigen setTitle:@"开始" forState:UIControlStateNormal ] ; }else { // run self.isRunning = YES ; self.curtimer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; [self.btnBigen setTitle:@"暂停" forState:UIControlStateNormal ] ; } } -(void) updateTime { self.curInt ++ ; int time = self.curInt ; int min = time /( 1000 * 60 ) ; int second = (time - min * 1000 * 60) /1000 ; int ms = time - min * 1000 * 60 - second * 1000 ; self.lbShowTime.text = [NSString stringWithFormat:@"%02d:%02d %03d" , min , second , ms]; } - (IBAction)clickReset:(id)sender { // reset [self.curtimer invalidate]; self.isRunning = NO ; self.lbShowTime.text = @"00:00 000" ; [self.btnBigen setTitle:@"开始" forState:UIControlStateNormal ] ; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. }