2011-04-05 51 views
1

我有一个类,我使用textfield委托方法“shouldChangeCharactersInRange”。如果用户在一个视图的文本框中键入某些内容,我希望这些更改以不同的视图显示在文本框中。 对我现在,我有两个xib文件与相同的文件的所有者,我在每个xib文件中的连接(在IB)到我的文本字段(我宣布为IBOutlet)。这是一个Ipad应用程序,所以我在用户旋转设备时在视图之间切换。 它还没有工作,所以我必须错过什么?有人可以帮助我!谢谢! 如果这个问题不清楚,请让我知道。如何使文本字段更改显示在两个不同的视图?

+0

你应该编辑你的问题,并添加你在shouldChangeCharactersInRange方法中有什么。这样我们可以看到你在说什么。 – 2011-04-05 19:31:27

+0

我明白你的意思,但我不重要,在这种方法中发生了什么事情,我只想在我的其他文本框中发生同样的事情。 – serge2487 2011-04-05 19:43:22

+2

你知道他们说一张图片胜过千言万语吗?好吧,它的代码价值要高出10倍。 – 2011-04-05 19:56:11

回答

0

无论您的shouldChangeCharactersInRange:方法实现,如果您有对两个文本字段的引用,您可以执行的操作是设置两者的文本。那么,现在你有这样的事情:

- (BOOL)textField: (UITextField *)textField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string 
{ 
    if (textField.text.length >= MAX_LENGTH && range.length == 0) 
    { 
     return NO; 
    } 
    else 
    { 
     return YES; 
    } 
} 

您要添加的东西,如:

- (BOOL)textField: (UITextField *)textField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string 
{ 
    if (textField.text.length >= MAX_LENGTH && range.length == 0) 
    { 
     return NO; 
    } 
    else 
    { 
     [myFirstTextField setText:string]; 
     [mySecondTextField setText:string]; 
     return YES; 
    } 
} 

如果设置两个文本框的委托到单一功能,你甚至都不需要在那里委托给你的护理。无论谁输入文字,你想采取的行动都是一样的。

+0

我只有一个文本字段名称,因为在我的两个xib文件中,我的两个文本字段都连接到相同的名称并具有相同的代理和标记。 – serge2487 2011-04-05 19:51:45

+1

没关系 - 即使它们具有相同的名称,仍然有2个独立的对象。它们被实例化,因为它们在分离的xib中。它们被称为什么并不重要。重要的是你得到一个参考给他们每个人回他们的代表。 – Nektarios 2011-04-06 03:12:39

相关问题