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