我的应用程序有一个文本字段,当它成为第一响应者时,它会缩小宽度以显示“取消”按钮,并在文本字段放弃第一响应者时向后扩展。这一切都是通过自动布局完成的:我在文本字段上有一个“ super View 的尾随空格”约束。为了扩展它,我只是减少这个常量,使其与取消按钮重叠(其 alpha 同时淡出)。为了将其折叠回来,我再次增加了常数。相当标准的东西。问题是,当字段开始动画时,文本的宽度会扭曲,然后随着文本字段收缩,动画会恢复到正常比例。这是一种非常奇怪且不受欢迎的效果。有没有人经历过这种情况,您对如何预防它有什么见解吗?谢谢!
最佳答案
我面临着同样的问题,我发现了几年前的这个问题:Strange behavior when animating UITextField
它的解决方案对我有用。我最初尝试在以下委托(delegate)方法中对 UITextField 的宽度进行动画处理:
- (void)textFieldDidBeginEditing:(UITextField *)textField;
- (void)textFieldDidEndEditing:(UITextField *)textField;
这导致了您所看到的文本失真。为了解决这个问题,我将动画移至这两个委托(delegate)方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;
文本现在不会拉伸(stretch)。
关于ios - UITextField 文本在设置宽度动画时会拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706905/