2010-06-26 81 views
12

为了在键盘出现时获得正确的视图,当按下文本字段时,我正移动我的视图。现在,当完成键盘按钮被按下时,我想将视图返回到其初始状态。如何在按下完成的键盘按钮时处理动作?在iPhone上处理键盘完成按下的事件

回答

11

制作一个IBAction并将其连接到文本字段的didEndOnExit方法。然后在这个方法的实现中,你应该放置[yourTextFieldOutlet resignFirstResponder];,这将停用文本字段。

19

执行此操作的正确方法是观察通知UIKeyboardDidShowNotificationUIKeyboardDidHideNotification,如Apple's documentation中所述。

如果您希望在Done按钮被按下知道,实施

- (BOOL)textFieldShouldReturn:(UITextField *)textField 

在您的委托。应该在按下返回按钮时调用它。有关更多详细信息,请参阅API documentation

4

@freespace有它的权利,这是所有你需要做的。

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    return [textField resignFirstResponder]; 
} 

点击完成按钮和poof,键盘消失。

0

如果你只是想知道做的是压制,你可以问,被告知该控件的事件:

[textField addTarget:self 
       action:@selector(donePressed) 
    forControlEvents:UIControlEventEditingDidEndOnExit]; 

这是IB的didEndOnExit的代码版本。