ios – 当UITextField子类的动画位置时,文本跳转

ios – 当UITextField子类的动画位置时,文本跳转,第1张

概述当我为UITextField子类位置设置动画时,字段中的文本会跳过与保存它的UITextField的位置,这是非常令人震惊的,我无法弄清楚为什么会这样发生: 我的子类在文本字段的右侧添加一个按钮,当点击调用视图控制器上的一个方法时,它会更改文本框边框颜色,并通过更改文本字段的顶部空间约束将文本字段移动到屏幕上方,以及位于其上方的其他两个视图. [UIView animateWithDuratio 当我为UITextFIEld子类的位置设置动画时,字段中的文本会跳过与保存它的UITextFIEld的位置,这是非常令人震惊的,我无法弄清楚为什么会这样发生:

我的子类在文本字段的右侧添加一个按钮,当点击调用视图控制器上的一个方法时,它会更改文本框边框颜色,并通过更改文本字段的顶部空间约束将文本字段移动到屏幕上方,以及位于其上方的其他两个视图.

[UIVIEw animateWithDuration:0.3                     animations:^{                         self.tableVIEwBottomSpaceConstraint.constant = 0;                         self.mainLabelHeightConstraint.constant = 0;                         self.subLabeltopSpaceConstraint.constant = 0;                         self.postCodeFIEldtopSpaceConstraint.constant = 12;                         [self.vIEw layoutIfNeeded];                     }];
解决方法 我修正了这个.将您的代码更改为此.它会奏效
[UIVIEw animateWithDuration:0.3                 animations:^{                     self.tableVIEwBottomSpaceConstraint.constant = 0;                     self.mainLabelHeightConstraint.constant = 0;                     self.subLabeltopSpaceConstraint.constant = 0;                     self.postCodeFIEldtopSpaceConstraint.constant = 12;                     [self.vIEw layoutSubvIEws];                 }];

或者如果这不工作,而不是

[self.vIEw layoutSubvIEws];

使用文本字段和layoutSubvIEws的父视图.在我的情况下这是有效的.我认为这个答案有资格获得赏金.谢谢.

编辑:

我发现了这个的原因.当我们尝试布局IfNeeded时,它意味着首先改变外部布局,并且在更改其布局之后,更改UITextFIEld的内部文本,因为我们没有强制更改该文本字段的所有子视图的布局.所有UITextFIEld都由UIVIEw和Label等基本元素组成.但是当我们尝试同时布局浏览其所有子视图的不断变化的布局.这是为什么d跳消失了.

总结

以上是内存溢出为你收集整理的ios – 当UITextField子类的动画位置时,文本跳转全部内容,希望文章能够帮你解决ios – 当UITextField子类的动画位置时,文本跳转所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1097526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存