当我点击文本框txtAge
时,会调用委托方法,但动画不会执行:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
NSLog(@"field Edited");
if (textField.tag == 0) {
NSLog(@"IF Block ");
[UIPickerView beginAnimations:nil context:nil];
[UIPickerView setAnimationDuration:0.3];
PkrView .frame = CGRectMake(0, 450, 414, 215);
}
else
{
NSLog(@" else");
}
return; }
你能弄明白为什么吗?
答案 0 :(得分:0)
您错过了commitAnimations
来电。但是,引自Apple文档中有关beginAnimations
:
在iOS 4.0及更高版本中不鼓励使用此方法。您应该使用基于块的动画方法来指定动画。
您应该按照以下方式转换动画:
[UIPickerView animateWithDuration:0.3 animations:^{
self.view.frame = CGRectMake(0, 450, 414, 215);
} completion:^(BOOL finished){
// optional, do something after animation completed
}];