我在我的应用程序中使用-(void)textFieldDidBeginEditing:(UITextField *)sender
这个函数。当我选择文本字段时,不会调用此方法。
这是代码......
-(void)textFieldDidBeginEditing:(UITextField *)sender{
if([sender isEqual:txtName])//txtName is the IBOutlet of the UITextField
{
NSLog(@"Name");
}
else{
NSLog(@"NO_Name");
}
}
答案 0 :(得分:26)
您是否将UITextField实例的委托设置为当前视图控制器,如下所示:
textField.delegate = self;
(self表示重写回调textFieldDidBeginEditing的实例)
答案 1 :(得分:11)
确保完成2个简单步骤
1 - 实施委托UITextFieldDelegate
@interface yourViewController : UIViewController <UITextFieldDelegate>
2 - 设置代理
yourTextField.delegate = self
如果您的视图中有多个文本字段,则可以为所有文本字段设置委托
for (id subView in self.view.subviews)
{
if ([subView isKindOfClass:[UITextField class]]) {
[subView setDelegate:self];
}
}
答案 2 :(得分:4)
您必须在.h文件中包含UITextFieldDelegate
@interface yourViewController : UIViewController <UITextFieldDelegate>
答案 3 :(得分:1)
您必须在.h文件中包含UITextFieldDelegate,并添加YourTextField.delegate = self