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 

,它会工作。