2011-04-19 64 views
1

嘿 只是想知道你是怎麼..檢索的UITextField文本特定的UITextField標籤

㈣創造了一些代碼,由用戶自動創建一定數量的UITextField輸入。 每個UITextfield都有一個自動創建的設置標籤。

然後用戶將他的值輸入到每個UITextField中。

我想從對應於標籤的UITextFields中檢索輸入文本。

我想我幾乎用了吧:

NSString * tmpV = (NSString*)[choiceTextField.text viewWithTag:result]; 

,其中結果是增量,choiceTextField是的UITextField。有了這個,我得到了一個沒有定義實例的問題,我不能這樣做,因爲UITextFields是在不在xib上的代碼中生成的。

所以總結起來,基本上想要從具有特定標記的UITextField中檢索文本。

感謝 丹

+0

請接受有助於解決問題的答案。鼓勵人們回答。 – 2011-04-19 04:44:32

回答

2

你的文本框必須是父視圖的子視圖。你需要寫以下父視圖的視圖控制器:

NSString *text = ((UITextField*)[self.view viewWithTag:result]).text; 
+0

爲我工作!(upvoted),但是有沒有其他的方法來從textField獲取帶有標籤的文本?因爲我有很多textFields! – 2016-08-31 10:36:33

+0

如果你已經將你的textfields連接到一個IBoutlets數組,那麼你將能夠遍歷它們並獲取每個文本。 – 2016-08-31 14:26:43

+0

非常感謝,我已經結束了一個循環(Y) – 2016-08-31 14:32:17

0

與Hetal沃拉的解決方案只需進入:看起來清爽多了!

-viewWithTag可以在任何視圖上調用,並在其所有子視圖中搜索與該標籤匹配的視圖。因此,您可以通過在層次結構中的任何視圖上調用它來找到UITextField。例如,你可以把它包含您的文本字段中的視圖控制器的視圖,如下所示:

NSString *tmpV = [[myViewController.view viewWithTag:result] text]; 

如果您已經在視圖控制器的類,你可以使用:

NSString *tmpV = [[self.view viewWithTag:result] text]; 

在第二想了想,下面可能是比較正確的&將避免任何編譯器錯誤:

UITextField *myTextField = (UITextField *)[self.view viewWithTag:result]; 
NSString *tmpV = myTextField.text; 
6
UITextField *yourTextField = (UITextField *)[self.view viewWithTag:result]; 
NSString *getText = myTextField.text; 

希望這會有所幫助

+0

yourTextField/myTextField 爲什麼不同的變量名? – Esqarrouth 2014-02-26 16:03:18