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