2013-05-28 25 views
0

快速的問題,我希望,一個TextField對6人

我有一個UITextFeild,我需要輸入一個數字,並使用該號碼填充到6個其他UITextfield s的同樣VC。

第一textfiled被稱爲percentage goal而其他

我目前使用iOS6的與層高板命名endmonth1year1percentageendmonth2year1percentageendmonth3year1percentage等。

任何幫助表示讚賞。謝謝。

+0

你想,當你在一個文本框右側輸入要顯示的文本中的所有文本框相同的號碼? – Balu

+0

正確。我剛剛開始使用6,但稍後將結束有點超過100,並不想全部輸入。 – Scubadivingfool

回答

0

嘗試這樣,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 
//replace your textfield names here 
textField1.text=textField.text; 
textField2.text=textField.text; 
textField3.text=textField.text; 
textField4.text=textField.text; 
textField5.text=textField.text; 


return YES; 
} 
0

因此,對於第一個UITextField,您必須將委託設置爲負責顯示文本字段(視圖控制器或自定義視圖)的類。對於其他UITextFiled是你應該設置像1,2,3..for每個UITextFiled標籤(因爲你說,這將是大量的UITextFields

設置好後委託第一UITextField和設置的標籤,你可以實現兩種不同的委託方法(取決於你想要的)。

陽光提供的方法,這是一種即時的變化:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 
    for(int i = firstTextViewTag; i<=lastTextViewTag; i++) { 
    UITextView *newTextView = (UITextView *)[self.view viewWithTag:i]; 
    //or [yourCustomView viewWithTag:i] 
    newTextView.text = textField.text; 
    } 

    return YES; 
} 

其次,你可以使用下面的,如果你要更新的文本框,用戶完成了打字和鍵盤被隱藏後,才:

-(void)textFieldDidEndEditing:(UITextField *)textField { 
    for(int i = firstTextViewTag; i<=lastTextViewTag; i++) { 
     UITextView *newTextView = (UITextView *)[self.view viewWithTag:i]; 
     //or [yourCustomView viewWithTag:i] 
     newTextView.text = textField.text; 
    } 
} 

編輯

所以首先所有delegate是iOS重用的模式,這裏是一個tutorial,它將解釋delegate的基本概念。

其次,iOS提供的一些UI控件擁有一個委託實例(閱讀完上述教程後,您將瞭解它爲什麼以及如何工作)。只有當類實現委託所提供的必需方法(注意:委託中還有可選方法)時,類纔可以是自定義UI控件的委託,如果類沒有實現所需的方法,構建警告將會顯示在代表設置的行上。

第三,在這個答案使用的方法是的UITextFiled (check apple docs)

我記不清了委託方法,[tag][3]是可用於可用於識別物體的UIView的子類的所有UIViews的屬性,但要請注意,此屬性默認爲因此,確保在設置標籤屬性時,您將使用值> 0。

欲瞭解更多詳情,請使用googleApple Docs

+0

好吧,這現在有點高於我。我對此仍然陌生。你能否用簡單的術語解釋一下。 – Scubadivingfool

+0

@Scubadivingfool請檢查我編輯的答案 – danypata