1

我做了一個文本字段,但我沒有使用Interface Builder,我在XCode中以編程方式執行了它。所以現在我需要一種編程方式讓它退出第一響應者,這樣當用戶按下回車鍵時鍵盤將消失。以編程方式使鍵盤消失

回答

1

至於除了cobbal的回答,不要忘記將文本字段的代理設置爲實現

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

將描述符添加到該類接口聲明中也是一件好事。

2
[textField resignFirstResponder]; 

docs

,如果你希望它消失在按下時進入,你將需要實現

- (BOOL)textFieldShouldReturn:(UITextField *)textField 

UITextFieldDelegate

0

我有這個問題我自我,我意識到上述答案可能不是你要求的。我的猜測是,當你說'雙擊'(或其他事件)時,你將UITextField作爲子視圖添加到某個視圖。使控制器成爲該子視圖的代表非常重要。

-(void)handleDoubleTapGesture:(UITapGestureRecognizer *)gestureRecognizer{ 
    //some other code creating the textfield 
    [aTextField setDelegate:self]; 

在這種情況下,我使用了控制器本身。

現在,控制器內我可以實現

-(BOOL) textFieldShouldReturn:(UITxtField *)textField 

,它會工作。