dans mon application, je prévois d'ajouter l'animation pour les textLabels, qui devraient provenir du côté gauche de l'écran
J'ai utilisé le code suivant, mais son plantage
(void)animateLoop {
UILabel *mylab;
mylab.text=@"SAAAAdiiiii";
mylab.frame = CGRectMake(-mylab.bounds.size.width, 100, mylab.bounds.size.width, mylab.bounds.size.height);
[UIView beginAnimations:@"timesquare" context:nil];
[UIView setAnimationDuration:5];
[UIView setAnimationRepeatAutoreverses:(YES)];
[UIView setAnimationRepeatCount:10];
mylab.frame = CGRectMake(480, 100, mylab.bounds.size.width, mylab.bounds.size.height);
[UIView commitAnimations];
}
n j'ai appelé cela dans le viewDidload
mais il se brisait à cette ligne mylab.text = @ "SAAAAdiiiii"; crashLog: invalidargument
quelqu'un peut-il me dire comment puis-je animer uilabel
merci d'avance
Réponses:
1 pour la réponse № 1Vous devez attribuer le UILabel. signifie d'abord créer la mémoire pour votre étiquette ...
UILabel *mylab = [[UILabel alloc] initWithFrame:CGRectMake(x,y,width,height)];
mylab.text=@"SAAAAdiiiii";
Vous suggère d'avoir UILabel *mylab;
comme iVar
, parce que ça doit être released
.
0 pour la réponse № 2
Vous devez d'abord allouer et initialiser votre UILabel. au lieu de UILabel *mylab;
essayer UILabel *mylab = [[UILabel alloc] init];
Vous devez également le libérer quelque part et vous devez ajouter l’étiquette à votre vue (quelque chose comme [self.view addSubview:mylab];
).