如何将一个文本字段中的值同时显示到另一个文本字段
Posted
技术标签:
【中文标题】如何将一个文本字段中的值同时显示到另一个文本字段【英文标题】:how can i display simultaneously values in one text field to another text field 【发布时间】:2010-12-15 15:41:25 【问题描述】:我做了一个带有两个文本字段的简单应用程序。
我需要在第二个文本字段中打印,与同时在第一个文本字段中输入的内容相同。
为此,我正在编写休闲代码。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
[textfield2 setText:textfield1.text];
但它从第二个值打印。
例如文本字段1 = 111;
它在文本字段中显示为 11;
怎么了。
我需要同时在文本字段 1 到文本字段 2 中准确输入的内容。
谁能帮帮我。
提前谢谢你。
【问题讨论】:
@MaheshBabu 正如@EvanMulawski 指出的那样,您使用了错误的事件处理程序。您正在使用的shouldChangeCharactersInRange
,发生在在第一个文本字段更改之前,这就是为什么它以“shouldChange”开头,这是英语的将来时,而不是“changed”,后者是英语的过去式。
【参考方案1】:
设置事件处理程序(或使用接口生成器):
[textField1 addTarget:self
action:@selector(textFieldEditingDidChange:)
forControlEvents:UIControlEventEditingChanged];
方法:
- (void)textFieldEditingDidChange:(UITextField *)sender
textField2.text = sender.text;
当文本字段的值改变时,它调用上面的方法,设置第二个文本字段的值。
代码更改自:Getting the Value of a UITextField as keystrokes are entered?
【讨论】:
【参考方案2】:你可以这样做
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
NSMutableString *localString = textfield2.text;
if([string isEqualToString:@""])
[localString replaceCharactersInRange:NSMakeRange([localString length]-1, 1)
withString:@""];
else
[localString appendString:string];
textfield2.text = localString;
:D
【讨论】:
以上是关于如何将一个文本字段中的值同时显示到另一个文本字段的主要内容,如果未能解决你的问题,请参考以下文章