2010-06-26 67 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的代碼版本。