2013-03-21 86 views
-1

我有3个UITextField S的给予如下动态:的UITextField不编辑正确

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]; 

} 

我的问题是,在这些文本框我写errT.hidden=YES;

这是我的代码的didBeginEditing但我无法编辑这些文本字段,并且我已经给予代理.h

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

UPDATE:

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

显示didbeginEditing – BhushanVU 2013-03-21 10:57:31

+1

请说明你是不是能够编辑文本字段值或didbegin编辑方法不是叫 – iSanjay 2013-03-21 11:01:21

+0

代码didbeginediting – Kasaname 2013-03-21 11:01:23

回答

0

试试这个::

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

希望,它会帮助你。

+0

这是很好的,在mycoe我已妥善给予它。 – Sindu 2013-03-21 11:19:04

+0

我无法编辑文本,同时给t.delegate = self; – Sindu 2013-03-21 11:19:34

0

我不明白如果你的问题是没有调用textFieldDidBeginEditing

如果是,尝试这样做:如果“T”这是对.m文件创建,你必须用标签跟踪它

t.tag = 1001; 

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

UPDATE: 尝试设置所有的财产和更改文本字段的名称(一定时间的作品):

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];它行得通吗?文本框的

+0

同时给予代表t.delegate = self;我可以打电话didbeginediting,但不能输入更改键盘当时是不工作,除了退格 – Sindu 2013-03-21 11:58:10

+0

对不起,我不明白“但不能键入更改键盘”,你想拦截文本更改? – 2013-03-21 12:54:01

+0

是的,我不能在Uitextfield输入文字 – Sindu 2013-03-22 04:54:14

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 
{ 
} 
+0

只有一个条件将被检查一次 – Sindu 2013-03-21 12:23:25

+0

它工作正常所有委托方法被调用,但只有退格键盘正在工作没有其他字母得到了工作 – Sindu 2013-03-21 12:24:52

+0

你能解释你刚刚放在代码中的代表吗? – Abha 2013-03-21 12:30:45