所以在我的viewdidload中我得到了像
这样的东西[nameTextField becomeFirstResponder]
现在按下一个按钮后,我想滑出这个文本字段的键盘,然后滑动另一个文本字段的另一个键盘。
我想到了[nameTextField resignFirstResponder];
[dateTextField becomeFirstResponder];
但另一个键盘立即出现。
评论[dateTextField becomeFirstResponder];
,我的nameTextField键盘滑出我想要的效果。
任何想法如何做到这一点?
谢谢!
答案 0 :(得分:2)
你有没有理由这样做?这显然会增加用户输入信息所需的时间,我知道这会让我感到烦恼。
但如果你确实想要这种效果,那么我会看一下这样的事情:
[dateTextField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:timeDelay];
其中timeDelay
是解雇第一个键盘所需的时间。
答案 1 :(得分:2)
您可以注册观看以下通知:UIKeyboardWillShowNotification
,UIKeyboardWillHideNotification
。这将让你跟踪发生的事情,但它很容易变得非常复杂,因此Tom Irving的建议可能更容易使用。
答案 2 :(得分:1)
要获得有关键盘隐藏和显示的通知,请查看
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:)
name:UIKeyboardDidHideNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:)
name:UIKeyboardDidShowNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:[self view].window];
并添加适当的方法,例如
-(void)keyboardWillShow:(NSNotification*)notif
-(void)keyboardWillHide:(NSNotification*)notif
-(void)keyboardDidShow:(NSNotification*)notif
-(void)keyboardDidHide:(NSNotification*)notif
然后您可以按照自己喜欢的方式连接动画。
确保所有这些都是NSLog(),当你期望它们时,它们并不总是被调用(臭名昭着的就是当你从一个领域转到另一个领域,并且你收到了意愿并将立即显示)