OGeek|极客世界-中国程序员成长平台

标题: ios - 如果焦点从 UITextField 转到另一个,则防止触发动画 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:25
标题: ios - 如果焦点从 UITextField 转到另一个,则防止触发动画

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

当一个文本域有焦点时,有 nice animation that makes all the elements go up所以它们不会被键盘隐藏,the logo vanishes .当文本字段失去焦点时,一切都会恢复到正常状态。

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

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

我怎样才能用我的动画实现同样的效果?



Best Answer-推荐答案


每次键盘出现和消失时都会调用一个方便的通知。 只需在 viewDidLoadviewWillAppear 中注册这些通知,然后 您可以将动画逻辑移动到方法 keyboardWillShowkeyboardWillHide 中。 在那里你可以防止动画重复

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selectorselector(keyboardWillShow)
                                             name:UIKeyboardWillShowNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selectorselector(keyboardWillHide)
                                         name:UIKeyboardWillHideNotification
                                       object:nil];

关于ios - 如果焦点从 UITextField 转到另一个,则防止触发动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283043/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4