2012-01-04 56 views
-2
if(Field<8) 
     { 
      [Field1 resignFirstResponder]; 
      NSString *FieldName = [NSString stringWithFormat:@"Field%i",Field]; 
      NSLog(@"%@",FieldName); 
      [(UITextField *)FieldName resignFirstResponder]; 
      Field++; 
      FieldName = [NSString stringWithFormat:@"Field%i",Field]; 
      [FieldName becomeFirstResponder]; 
     } 

我有此代碼時崩潰.. [字段1 resignFirstResponder];工作,但要做到這一點在循環中我使用Field%i方法,它每次自動增加字段名稱..但程序崩潰在[(UITextField *)FieldName行....上面的Nslog輸出Field1它是正確。程序跳躍從一個的UITextField到另一個

任何想法?

我會在後面標記我的答案是正確的,因爲現在不會允許我。 編輯 我在這裏找到了我的解決方案的答案 謝謝大家。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/77945-jumping-across-text-fields.html

+0

什麼是field1? – Tendulkar 2012-01-04 13:32:16

+0

Field1 Field2 Field3 Field are all UitextFields i will cycle through。 – Shubhank 2012-01-04 13:35:03

+0

添加您的答案並選擇它。 – 2012-01-04 18:40:09

回答

0

[(UITextField *)FieldName resignFirstResponder];

在要轉換字符串UITextField.This上述行

是incorrect.That就是爲什麼它崩潰

+0

我知道我正在轉換一個我也是它在那裏崩潰..但這被認爲是在動態類型..所以它爲什麼不正確。和任何解決方案,你可以提供跳轉到下一個領域,只需選擇字段與增量我喜歡Field1 Field2 .... – Shubhank 2012-01-04 13:33:43

1

您不能轉換NSStringUITextField這就是爲什麼它崩潰。

而是達到你想要我建議建立一個NSArray像這樣的內容:

NSArray *myTextFields = [NSArray arrayWithObjects:Field1, Field2, nil]; 

然後遍歷它,做:

for (UITextField* myField in myTextFields) 
{ 
    [myField resignFirstResponder]; 
} 
+0

感謝您的答案,但它會是非常有用的,如果你能告訴如何做到這一點:我想輸入密碼..所以我有4個textfields用戶填寫和每個字符後,我會使下一個第一響應者,這是我想要實現的。 – Shubhank 2012-01-04 13:38:34

0

製造陣列與UITextField對象:字段1, Field2 .... 比它更容易處理下一個接收器。

相關問題