一个TextField到另外6个

时间:2013-05-28 14:48:12

标签: ios storyboard textfield

快速问题,我希望,

我有一个UITextFeild我希望输入一个数字,并将该数字填入同一VC中的其他6个UITextfield

第一个textfiled称为percentage goal,而其他文本名为endmonth1year1percentageendmonth2year1percentageendmonth3year1percentage等。

我目前正在使用带有楼层板的iOS6。

感谢任何帮助。感谢。

3 个答案:

答案 0 :(得分:1)

检测第一个文本字段中的更改:UITextField text change event

然后更新要填充的其他文本字段的text属性。

答案 1 :(得分: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;
}

答案 2 :(得分:0)

因此,对于第一个UITextField,您必须将委托设置为负责显示文本字段的类(视图控制器或自定义视图)。对于其他UITextFiled,你应该为每个UITextFiled设置一个1,2,3..的标签(因为你说这将是很多UITextFields

为第一个UITextField设置委托并设置标记后,您可以实现两种不同的委托方法(具体取决于您的需要)。

Sunny 提供的方法,这是即时更改:

-(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 所以确保在设置标记属性时,您将使用值&gt; 0.

有关详细信息,请使用googleApple Docs