快速问题,我希望,
我有一个UITextFeild
我希望输入一个数字,并将该数字填入同一VC中的其他6个UITextfield
。
第一个textfiled称为percentage goal
,而其他文本名为endmonth1year1percentage
,endmonth2year1percentage
,endmonth3year1percentage
等。
我目前正在使用带有楼层板的iOS6。
感谢任何帮助。感谢。
答案 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.
有关详细信息,请使用google
和Apple Docs