-1

我有 3 UITextFields,它是动态给出的,如下所示:

if(a isEqualtoString:@"1")
{

UITextField *t=[[UITextField alloc]initWithFrame:CGRectMake(20,20,20,20)];
t.text=s;
t.delegale=self;
[scroll addSubview:t];

}
if(a isEqualtoString:@"2")
{
UITextField *t=[[UITextField alloc]initWithFrame:CGRectMake(20,20,20,20)];
t.text=p;
t.delegale=self;
[scroll addSubview:t];


}
if(a isEqualtoString:@"3")
{
UITextField *t=[[UITextField alloc]initWithFrame:CGRectMake(20,20,20,20)];
t.text=r;
t.delegale=self;
[scroll addSubview:t];

}

我的问题出在didBeginEditing我写的这些文本字段中errT.hidden=YES;

这是我的代码,但我无法编辑这些文本字段,我在 .h 中给出了委托

还。该怎么办?我尝试了许多对我没有帮助的解决方案。帮我

更新:

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    if(textField==t)
    {
    err.hidden=YES;
    }
    }
4

3 回答 3

0
UITextField *t=[[[UITextField alloc]initWithFrame:CGRectMake(20,20,20,20)]autorelease];
t.delegale=self;
[scroll addSubview:t];

if(a isEqualtoString:@"1")
{
   t.text=s;
}
if(a isEqualtoString:@"2")
{
   t.text=p;
}
if(a isEqualtoString:@"3")
{
   t.text=r;
}

//文本字段的代表

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
   if ([textField canResignFirstResponder])
   {
       [textField resignFirstResponder];
   }
    return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    // add your method here
    return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
}
于 2013-03-21T11:43:19.970 回答
0

我不明白你的问题是否textFieldDidBeginEditing没有被调用。

如果是,请尝试这样做:如果“t”它是在 .m 文件上创建的,则必须使用标签跟踪它

t.tag = 1001;

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    if(textField.tag == 1001) {
        err.hidden=YES;
    }
}

更新: 尝试设置所有属性并更改文本字段的名称(有时有效):

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20,20,20,20)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:15];
textField.placeholder = @"enter text";
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.keyboardType = UIKeyboardTypeDefault;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;    
textField.delegate = self;
[self.scroll addSubview:textField];

您是否尝试将文本字段放在视图上?[self.view addSubview:textField];它有效吗?

于 2013-03-21T11:33:58.527 回答
0

尝试这个 ::

if(a isEqualtoString:@"1")
{
    ....
    t.text = @"s";
    ....
}
if(a isEqualtoString:@"2")
{
    ....
    t.text = @"p";
    ....
}
if(a isEqualtoString:@"3")
{
    ....
    t.text = @"r";
    ....
}

希望,它会帮助你。

于 2013-03-21T11:01:25.467 回答