菜鸟教程小白 发表于 2022-12-12 15:55:32

ios - 动画宽度时 UITextField 文本拉伸(stretch)


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

<p> <a href="/image/vDBx7.gif" rel="noreferrer noopener nofollow"><img src="/image/vDBx7.gif" alt="Screen capture"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我也遇到了同样的问题,几年前我发现了这个问题:<a href="https://stackoverflow.com/questions/8087413/strange-behavior-when-animating-uitextfield" rel="noreferrer noopener nofollow">Strange behavior when animating UITextField</a> </p>

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

<pre><code>- (void)textFieldDidBeginEditing:(UITextField *)textField;
- (void)textFieldDidEndEditing:(UITextField *)textField;
</code></pre>

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

<pre><code>- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;
</code></pre>

<p>文本现在不会拉伸(stretch)。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 动画宽度时 UITextField 文本拉伸(stretch),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31706905/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31706905/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 动画宽度时 UITextField 文本拉伸(stretch)