Iphone UITextField未正确编辑
我有3个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
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
{
}