我正在创建一个动态创建UITextField
的视图控制器。
self.ansText = [[UITextField alloc] init];
self.ansText.tag = 1;
self.ansText.delegate = self;
[_ansText createAnsTextwithParentFrame:QuestionView.frame withUpperFrame:questSeq2Frame];
[QuestionView addSubview:_ansText];
这里当我对UITextField
进行验证时,即使在其他视图控制器中文本字段也没有响应。这就是它到达UITextField
ShouldBeginEditing方法。我在堆栈中经历了一些类似的问题溢出。我看到了一个解决方案,比如设置代表不要自我。但有人可以帮我解决这个问题。请你详细说明一下。非常感谢你提前。
答案 0 :(得分:0)
@iOSManiac,代表可以是UITextField,它只是
self.ansText.delegate = ansText;
答案 1 :(得分:0)
这里有一个更详细的答案,你的And Text必须从UITextField继承而且必须实现UITextFieldDelegate
@interface ViewController ()
@end
@interface AnsText : UITextField <UITextFieldDelegate>
@end
@implementation AnsText
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
NSLog(@"textFieldShouldBeginEditing");
return YES;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
AnsText *ansText = [[AnsText alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
ansText.tag = 1;
ansText.delegate = ansText;
[self.view addSubview:ansText];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end