OStack程序员社区-中国程序员成长平台

标题: ios - 动画宽度时 UITextField 文本拉伸(stretch) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:55
标题: ios - 动画宽度时 UITextField 文本拉伸(stretch)

我的应用程序有一个文本字段,当它成为第一响应者时会缩小宽度以显示“取消”按钮,并在文本字段退出第一响应者时扩展回来。这一切都是通过自动布局完成的:我在文本字段上有一个“ super View 的尾随空间”约束。为了扩展它,我只是减少了这个常量,使它与取消按钮重叠(我同时淡出它的 alpha)。为了将其折叠回去,我再次增加了常数。很标准的东西。问题是当该字段开始动画时,文本的宽度会发生扭曲,然后随着文本字段的收缩而动画回其正常比例。这是一个非常奇怪和不受欢迎的效果。有没有人经历过这种情况,您对如何预防有任何见解吗?谢谢!

Screen capture



Best Answer-推荐答案


我也遇到了同样的问题,几年前我发现了这个问题:Strange behavior when animating UITextField

它的解决方案对我有用。我最初试图在以下委托(delegate)方法中为 UITextField 的宽度设置动画:

- (void)textFieldDidBeginEditingUITextField *)textField;
- (void)textFieldDidEndEditingUITextField *)textField;

这导致您看到的文本失真。为了解决这个问题,我将动画移到了这两个委托(delegate)方法中:

- (BOOL)textFieldShouldBeginEditingUITextField *)textField;
- (BOOL)textFieldShouldEndEditingUITextField *)textField;

文本现在不会拉伸(stretch)。

关于ios - 动画宽度时 UITextField 文本拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706905/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4