函数textFieldShouldBeginEditing未被调用

时间:2012-08-02 09:57:37

标签: iphone objective-c cocoa-touch uitextview uitextfielddelegate

我知道有类似的问题,但是答案对我没有帮助。我还有其他一些错误。

我有一个textView,我将它的委托设置为self,但是没有调用相关的函数。

以下是代码:

在.h:

@interface MyViewController : UIViewController<UITextFieldDelegate>
@property (retain, nonatomic) IBOutlet UITextField *nameField;

在.m:

...
@synthesize nameField;
...
-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    nameField.delegate = self;
...
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    exitKeyboardButton.hidden = NO;
    return YES;
}

3 个答案:

答案 0 :(得分:6)

我想你忘了将文本字段的委托连接到你的viewController。我经常忘记:)

ss

答案 1 :(得分:0)

试试这些:

viewDidLoad而不是viewWillAppear

中设置代理(但正如idz所说,这有问题)

尝试使用- (void)textFieldDidBeginEditing:(UITextField *)textField代替- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

额外确保您在笔尖中连接了正确的名称

答案 2 :(得分:0)

最终我使用了相关的IBAction功能。 我有一个更好的主意,让我知道,我会标记你的回答。

enter image description here