2009-06-10 60 views

回答

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

不要忘記設置在故事板的委託......

enter image description here

+2

不知怎的,這並不在所有的工作。回車鍵沒有被捕獲。 – Jonny 2010-12-16 02:07:20

+43

確保您的視圖控制器設置爲文本框的代表。 – zekel 2011-02-15 22:01:41

37

不需要代表團,這裏是一個班輪:

- (void)viewDidLoad { 
    [textField addTarget:textField 
        action:@selector(resignFirstResponder) 
     forControlEvents:UIControlEventEditingDidEndOnExit]; 
} 

可悲的是,你不能直接在你的Storyboard中做到這一點(你不能將動作連接到發出它們的控件故事板),但你可以通過中介行動。

-1
- (BOOL)textFieldShouldReturn:(UITextField *)txtField 
{ 
[txtField resignFirstResponder]; 
return NO; 
} 

當輸入按鈕被點擊時,這個委託方法被調用。你可以從這個委託方法捕獲返回按鈕。

0

SWIFT 3.0

override open func viewDidLoad() { 
    super.viewDidLoad()  
    textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit) 
} 

在enterPressed()函數把你所有的行爲後

func enterPressed(){ 
    //do something with typed text if needed 
    textField.resignFirstResponder() 
} 
0

您現在可以這是故事板使用發送事件 '真的結束退出時' 做。

在您的視圖控制器子類:

@IBAction func textFieldDidEndOnExit(textField: UITextField) { 
    textField.resignFirstResponder() 
} 

在你的故事板所希望的文本框:

enter image description here