Iphone 一个IBOutlet用于两个UITextField

Iphone 一个IBOutlet用于两个UITextField,iphone,objective-c,xcode4,uitextfield,Iphone,Objective C,Xcode4,Uitextfield,我有两个UITextField,一个用于纵向视图,另一个用于Lanscape视图,但我希望编辑第一个UITextField也应反映对其他文本字段的更改。我必须为风景和肖像使用单独的视图。我的最后一个选择是为他们制作两个插座,但我只想使用一个。任何帮助都将不胜感激 一个选项是使用IBOutletCollection。您可以拥有一个声明为IBOutletCollection(而不是IBOutlet)的NSArray。为了知道从数组中得到什么文本字段,可以在IB中的每个文本字段上设置一个标记,然后从数

我有两个UITextField,一个用于纵向视图,另一个用于Lanscape视图,但我希望编辑第一个UITextField也应反映对其他文本字段的更改。我必须为风景和肖像使用单独的视图。我的最后一个选择是为他们制作两个插座,但我只想使用一个。
任何帮助都将不胜感激

一个选项是使用
IBOutletCollection
。您可以拥有一个声明为IBOutletCollection(而不是IBOutlet)的NSArray。为了知道从数组中得到什么文本字段,可以在IB中的每个文本字段上设置一个标记,然后从数组中提取与特定标记匹配的文本字段

还有另一个解决办法。在将笔尖用于已更改的方向之前,存储文本字段中的值,如

NSString *firstText = firstTextField.text;
NSString *secondText = secondTextField.text;
然后,在交换nib之后,使用它填充新nib中的文本字段

firstTextField.text = firstText;
secondTextField.text = secondText;

您可以在UITextFieldDelegate中实现适当的方法

比如

//not real code here just off the top of my head
(BOOL)textFieldShouldEndEditing:(UITextField *)textField {

    NSString* updatedText = [textField text];

    firstTextField.text = updatedText;
    secondTextField.text = updatedText;

    return YES;
}

你可以使用2个不同的xib文件,做同样的事情 要加载新的xib文件,请使用以下代码 [[NSBundle mainBundle]loadNibNamed:@“测试”所有者:自选项:nil]; u仍然可以使用现有的xib文件,方法是复制该文件,并在方向改变时加载上面的代码。
代码不会有太大的变化,因为你可以在两个方向上使用相同的IBOutletCollection,甚至不需要手动链接它们

我还没有使用IBOutletCollection,你可以发布使用它的代码吗?请过目,但我认为最好使用两个outlets或我建议的解决方法来代替此。好的,谢谢你的帮助链接。。。我已经在谷歌上找到了。。它推出了iOS 4.0,这意味着我不能将其用于