no meu aplicativo, estou planejando adicionar a animação para os textLabels, que devem vir do lado esquerdo da tela
Eu usei o seguinte código, mas está falhando
(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 eu chamei isso no viewDidload
mas estava travando nesta linha mylab.text = @ "SAAAAdiiiii"; crashLog: invalidargument
qualquer um pode me dizer como posso animar o uilabel
thanx antecipadamente
Respostas:
1 para resposta № 1Você precisa alocar o UILabel. significa primeiro criar a memória para você rotular ...
UILabel *mylab = [[UILabel alloc] initWithFrame:CGRectMake(x,y,width,height)];
mylab.text=@"SAAAAdiiiii";
Sugiro que você tenha UILabel *mylab;
Como iVar
porque tem que ser released
.
0 para resposta № 2
Você precisa alocar e iniciar seu UILabel primeiro. ao invés de UILabel *mylab;
experimentar UILabel *mylab = [[UILabel alloc] init];
Você também deve liberá-lo em algum lugar e adicionar o rótulo à sua exibição (algo como [self.view addSubview:mylab];
).