在我的 viewDidLoad 方法中,我将一个按钮放在视图左侧,屏幕外。
然后我使用这两种方法对其进行动画处理:
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self showButton];
}
和方法:
-(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];
}
该按钮立即出现并且没有动画。此外,animationDone 选择器会立即被调用。
为什么它不将我的按钮动画化到屏幕上?
编辑:这与在 viewDidAppear 中尝试启动动画有关...