In meiner App plane ich, die Animation für die textLabels hinzuzufügen, die von der linken Seite des Bildschirms kommen soll
Ich habe folgenden Code verwendet, aber es stürzt ab
(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 Ich habe dies in der ViewDidload aufgerufen
aber es stürzte in dieser Zeile ab mylab.text = @ "SAAAAdiiiii"; crashLog: ungültiges Argument
Kann mir jemand sagen, wie ich das Uilabel animieren kann?
Danke im Voraus
Antworten:
1 für die Antwort № 1Sie müssen das UILabel vergeben. Also erstmal den Speicher für dein Etikett erstellen ...
UILabel *mylab = [[UILabel alloc] initWithFrame:CGRectMake(x,y,width,height)];
mylab.text=@"SAAAAdiiiii";
Schlagen Sie vor zu haben UILabel *mylab;
wie iVar
, weil es sein muss released
.
0 für die Antwort № 2
Sie müssen zuerst Ihr UILabel zuweisen und initialisieren. Anstatt von UILabel *mylab;
Versuchen UILabel *mylab = [[UILabel alloc] init];
Sie müssen es auch irgendwo freigeben und das Label zu Ihrer Ansicht hinzufügen (so etwas wie [self.view addSubview:mylab];
).