我创建了一个文本字段,但我没有使用Interface Builder,我是在Xcode中以编程方式完成的。所以现在我需要一种程序化的方法让它重新响应第一响应者,这样当用户按下回车键时键盘就会消失。
答案 0 :(得分:2)
[textField resignFirstResponder];
如果你希望它在按下回车时消失,你需要实现
- (BOOL)textFieldShouldReturn:(UITextField *)textField
答案 1 :(得分:1)
作为cobbal答案的补充,不要忘记将文本字段的委托设置为实现的类
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
向该类接口声明添加描述符也是一件好事。
答案 2 :(得分:0)
我有自己的这个问题,我意识到上述答案可能不是你所要求的。我的猜测是,当你说“双击”(或其他一些事件)时,你会将UITextField作为子视图添加到某个视图中。将控制器作为该子视图的代表非常重要。
-(void)handleDoubleTapGesture:(UITapGestureRecognizer *)gestureRecognizer{
//some other code creating the textfield
[aTextField setDelegate:self];
在这种情况下,我使用了控制器本身。
现在在控制器内我可以实现
-(BOOL) textFieldShouldReturn:(UITxtField *)textField
它会起作用。