W mojej metodzie widokuDidLoad umieszczam przycisk po lewej stronie widoku, poza ekranem.setFrame w animacji UIView nie przesuwa się, tylko zatrzaski w miejscu
Potem korzystać z tych dwóch metod, aby go ożywić:
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self showButton];
}
I metoda:
-(void) showButton {
[myButton setTitle:[self getButtonTitle] forState:UIControlStateNormal];
// animate in
[UIView beginAnimations:@"button_in" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDone)];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationBeginsFromCurrentState:YES];
[myButton setFrame:kMyButtonFrameCenter]; // defined CGRect
[UIView commitAnimations];
}
Przycisk pojawia się natychmiast i nie animować. Ponadto selektor animacjiDone jest wywoływany natychmiast.
Dlaczego nie animuję mojego przycisku na ekranie?
EDIT: To musi mieć coś wspólnego z próbą uruchomienia animacji podczas gdy w viewDidAppear ...
dziwnie, jeśli trochę poczekać, animacja będzie działać. – TigerCoding