J'ai cherché partout mais je ne trouve pas comment faire. J'ai besoin d'un simple timer qui puisse compter en millisecondes et qui puisse être arrêté. (XCode 3.1, Objective-C, Développement de l'iPhone OS )
Réponses
Trop de publicités?Suis-je bête ou est-ce que "compte à rebours" est la même chose qu'un chronomètre ?
Si c'est le cas, regardez ça tutoriel vidéo
Jagds
Points
52
Voici le code d'exemple que j'ai fait un timer avec la minute, la seconde, et les secondes mili Donc, son utile pour vous. Et aussi le faire sortir après ne pas utiliser
-(void)showTime:(NSTimer *)sender
{
miniSeconds++;
if (miniSeconds == 10)
{
miniSeconds = 0;
seconds++;
if (seconds == 60)
{
seconds = 0;
minutes++;
}
}
timeLabel.text = [NSString stringWithFormat:@"%02i:%02i:%02i",minutes,seconds,miniSeconds];
}
-(void)nextLevelTime
{
[labelTimer invalidate];
miniSeconds = 0;
seconds = 0;
minutes = 0;
}
La méthode nextLevel est utilisée pour arrêter la minuterie et libérer toutes les choses
Utilisez-le, je l'ai fait avec ce code
Kay
Points
6742
bhushan deshmukh
Points
63
@interface ViewController()
{
UILabel *progress;
NSTimer *timer;
int currMinute;
int currSeconds;
int currHours;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
progress=[[UILabel alloc] initWithFrame:CGRectMake(80, 15, 100, 50)];
progress.textColor=[UIColor redColor];
[progress setText:@"Time : 00:00:00"];
progress.backgroundColor=[UIColor clearColor];
[self.view addSubview:progress];
currMinute=00;
currSeconds=00;
currHours=00;
// Do any additional setup after loading the view, typically from a nib.
}
-(void)start
{
timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
}
-(void)timerFired
{
currSeconds+=1;
if(currSeconds==60)
{
currSeconds=0;
currMinute+=1;
if(currMinute==60)
{
currMinute=0;
currHours+=1;
}
}
[_progress setText:[NSString stringWithFormat:@"%@%02d%@%02d%@%02d",@"Time : ",currHours,@":",currMinute,@":",currSeconds]];
if(currMinute==2)//stop at 2 minute
{
[timer invalidate];
}
}