我目前正在尝试为应用程序制作登录屏幕。它由一个大 Logo 组成,其下是登录和密码的两个文本字段,以及一个按钮。
当一个文本域有焦点时,有 nice animation that makes all the elements go up所以它们不会被键盘隐藏,the logo vanishes .当文本字段失去焦点时,一切都会恢复到正常状态。
我的问题是从一个文本字段转到另一个文本字段时。两个动画都触发了,所以logo短暂的出现和消失,不是很专业。
键盘homever不会消失又出现,所以我猜Apple使用了一个特殊的技巧来防止它。
我怎样才能用我的动画实现同样的效果?
Best Answer-推荐答案 strong>
每次键盘出现和消失时都会调用一个方便的通知。
只需在 viewDidLoad 或 viewWillAppear 中注册这些通知,然后
您可以将动画逻辑移动到方法 keyboardWillShow 和 keyboardWillHide 中。
在那里你可以防止动画重复
[[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/
|