2

我有一个弹出视图,我使用MJPopupViewController从底部在当前视图中进行动画处理,并且该弹出视图中有一个UITextField。当我点击该文本字段时,键盘不会从底部显示动画,而是立即出现。弹出视图是一个UIViewController,没有什么花哨的,没有与键盘相关的代码。我将观察者添加到相关的键盘通知中,并看到该UIKeyboardAnimationDurationUserInfoKey0即使是键盘第一次显示在应用程序中。键盘随着动画正确消失,只有键盘从底部滑入的动画被破坏。这发生在 iOS 5.0 和 5.1 上,键盘在 iOS 6 + 上正常工作。我正试图追查这个问题,但现在我没有线索。是什么原因导致UIKeyboardAnimationDurationUserInfoKey为零,开始?

4

1 回答 1

0

尝试添加这个。

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES];
    [textField becomeFirstResponder];
    [UIView commitAnimations];
}

PS:我们需要为此设置委托。

于 2013-07-21T08:27:59.690 回答