2013-03-21 83 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