UITextField游标从上到下动画,然后文本也被动画化

时间:2015-01-05 07:00:16

标签: ios objective-c uitextfield

我正在iOS应用程序中使用注册表单。当文本字段开始编辑光标看起来像动画时,有几个文本字段,如姓名,电子邮件,城市等。键入字母后,光标从上到下慢慢地从左向右移动。我需要停止这个不需要的动画。我正在使用TPKeyboardAvoiding scrollview在键盘弹出时滚动视图。我在没有TPKeyboardAvoiding的情况下检查了它,但发生了同样的事情。enter image description here

3 个答案:

答案 0 :(得分:2)

我遇到同样的问题,经过调试我发现这个奇怪的动画正在发生,因为

- (void)TPKeyboardAvoiding_keyboardWillShow:(NSNotification*)notification {
    //...
    [self layoutIfNeeded];
    //...
}

- (void)TPKeyboardAvoiding_keyboardWillHide:(NSNotification*)notification {
    //...
    [self layoutIfNeeded];
    //...
}

我可以通过删除[self layoutIfNeeded];方法调用来解决此问题。我不知道这个解决方案是否影响其他任何事情。

答案 1 :(得分:1)

我怀疑动画来自TPKeyboardAvoiding库。我的应用程序(注册)中也有相同的屏幕,并使用相同的库。但是,我将自己的文本字段放在自定义UITableViewCell中,并注册了UITableView。这样代码更少,更清晰。我禁用UITableView上的滚动功能,以便UIScrollView能够正确接收触摸。

我建议那样做。

答案 2 :(得分:0)

在开始更改视图中的任何可设置动画的属性之前,请调用superview.layoutIfNeeded()(或self.view.layoutIfNeeded(),具体取决于您的代码上下文)。这允许superview在您进行自己的布局更改并提交动画之前完成自己的布局更改(如果有)。 (如果外部库正在应用自己的动画,这可能很难追踪。)