菜鸟教程小白 发表于 2022-12-12 10:25:10

ios - 如果焦点从 UITextField 转到另一个,则防止触发动画


                                            <p><p>我目前正在尝试为应用程序制作登录屏幕。它由一个大 Logo 组成,其下是登录和密码的两个文本字段,以及一个按钮。</p>

<p>当一个文本域有焦点时,有 <a href="https://stackoverflow.com/questions/1247113/iphone-keyboard-covers-uitextfield" rel="noreferrer noopener nofollow">nice animation that makes all the elements go up</a>所以它们不会被键盘隐藏,<a href="https://stackoverflow.com/questions/12387211/how-to-make-images-appear-and-disappear-in-ios-apps" rel="noreferrer noopener nofollow">the logo vanishes</a> .当文本字段失去焦点时,一切都会恢复到正常状态。</p>

<p>我的问题是从一个文本字段转到另一个文本字段时。两个动画都触发了,所以logo短暂的出现和消失,不是很专业。</p>

<p>键盘homever不会消失又出现,所以我猜Apple使用了一个特殊的技巧来防止它。</p>

<p>我怎样才能用我的动画实现同样的效果?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>每次键盘出现和消失时都会调用一个方便的通知。
只需在 <code>viewDidLoad</code> 或 <code>viewWillAppear</code> 中注册这些通知,然后
您可以将动画逻辑移动到方法 <code>keyboardWillShow</code> 和 <code>keyboardWillHide</code> 中。
在那里你可以防止动画重复</p>

<pre><code>[ addObserver:self
                                       selector:@selector(keyboardWillShow)
                                             name:UIKeyboardWillShowNotification
                                           object:nil];

[ addObserver:self
                                     selector:@selector(keyboardWillHide)
                                       name:UIKeyboardWillHideNotification
                                       object:nil];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如果焦点从 UITextField 转到另一个,则防止触发动画,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24283043/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24283043/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如果焦点从 UITextField 转到另一个,则防止触发动画