Iphone UITextField未正确编辑

Iphone UITextField未正确编辑,iphone,ipad,uitextfield,Iphone,Ipad,Uitextfield,我有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]ini

我有3个
UITextField
s,动态给出如下:

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;
    }
    }
试试这个:

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

希望,它能帮助您。

我不明白您的问题是
textfielddibeginediting
没有被调用

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

t.tag = 1001;

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    if(textField.tag == 1001) {
        err.hidden=YES;
    }
}
更新: 尝试设置所有属性并更改文本字段的名称(有时有效):

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

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;
}
//textfield的代表

- (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
{
}

请澄清您是否无法编辑textfield值,或者DidBeagin编辑方法不是didbeginediting的调用代码-(void)textFieldDidBeginEditing:(UITextField*)textfield;你是在谈论这个方法吗?看到我的更新有问题,这是我的想法。开始编辑首先,请正确地显示你的代码。。p,s,r是什么?这很好,在我看来,我已经正确地给出了它;我可以打电话给didbeginediting,但无法键入更改,当时键盘不工作,只有Backspace除外对不起,我不懂“但无法键入更改键盘”,是否要截取文本更改?一次只检查一个条件是否正常所有委托方法都被调用,但只有键盘中的退格起作用没有其他字母表在.h和t中得到WorkedUxtFieldDelegate.delegate=self
- (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
{
}