快速提问,我希望,
我有一个UITextFeild
我想输入一个数字并将该数字填充到UITextfield
同一个 VC 上的 6 个其他 s 中。
第一个 textfiled 被调用percentage goal
,而其他的被命名为endmonth1year1percentage
, endmonth2year1percentage
, endmonth3year1percentage
, 等等。
我目前正在使用带有层板的iOS6。
任何帮助表示赞赏。谢谢。
快速提问,我希望,
我有一个UITextFeild
我想输入一个数字并将该数字填充到UITextfield
同一个 VC 上的 6 个其他 s 中。
第一个 textfiled 被调用percentage goal
,而其他的被命名为endmonth1year1percentage
, endmonth2year1percentage
, endmonth3year1percentage
, 等等。
我目前正在使用带有层板的iOS6。
任何帮助表示赞赏。谢谢。
检测第一个文本字段的变化:UITextField 文本变化事件
然后更新您要填充的其他文本字段的文本属性。
试试这样
- (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;
}
因此,首先UITextField
您必须设置负责显示文本字段(视图控制器或自定义视图)的类。对于其他UITextFiled
s,您应该为每个 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 大量使用的模式,这里有一个教程,将解释delegate
.
其次,iOS 提供的一些 UI 控件有一个委托实例(在阅读了上面的教程后,您将了解它为什么以及如何工作)。只有当类实现了委托提供的所需方法时,类才能成为自定义 UI 控件的委托(注意:委托中也有可选方法),如果类没有实现所需的方法,则会发出构建警告显示在设置委托的行。
第三,这个答案中使用的方法是 UITextFiled 的委托方法(检查苹果文档)
我记不清了,[tag][3]
这是一个可用于 UIView 子类的所有 UIView 的属性,可用于识别对象,但请注意此属性默认为0,因此请确保在设置标记属性时使用 > 0 的值.
有关更多详细信息,请使用google
和Apple Docs