2012-04-23 53 views
7

我想要当用户点击“返回”按钮,键盘消失,我被告知使用textFieldShouldReturn不叫

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

但是,当我点击“返回”按钮没有任何反应,该方法甚至没有被调用。我在

@interface gameOverMenu : UIView 

不是在ViewController中这样做。我也不使用接口构建器。我该怎么办?

+0

您是否将UITextField的委托设置为包含该方法的对象? – MarkPowell 2012-04-23 19:45:47

+0

你有没有指定你的视图控制器? – lukecampbell 2012-04-23 19:48:07

回答

26

你需要确保你实现UITextFieldDelegate和你的UITextField的委托设置为self。在您的.h文件中:

@interface gameOverMenu : UIView <UITextFieldDelegate> 
在.m文件

而且某处(viewDidLoad中:也许):

self.yourTextField.delegate = self; 

现在你 - (BOOL)textFieldShouldReturn:(*的UITextField)文本框方法应该被称为。

+0

感谢您的帮助! – Alexander 2012-04-23 20:44:20

+0

没问题。只是因为我看到你是新人 - 如果你的答案最能帮助你,那么通常的做法是将我的答案标记为正确。奖励系统:) – nicholjs 2012-04-23 21:06:37

+0

投票要求15声望 – Alexander 2012-04-24 16:02:27

0

请确保您已设置的父类(不管它是什么)作为UITextFieldDelegate