2009-12-19 51 views
1

我对此很新,但我认为我期望做的是有道理的。我有一个以纵向显示的xib和一个以横向显示的xib。两种观点都很相似,但有一些差异。一些按钮,标签和文本框是相同的。多个Xib文件 - 相同的类

当方向改变时,我可以透露一个,并隐藏另一个 - 这不是问题。

基本上我正在寻找一个地方,我可以处理所有常见的按钮点击响应或文本更改。当用户处于肖像模式并输入文字或选择一个按钮时,它们将切换到横向模式,相应的按钮和文字将被更新。

我试着在界面构建器中添加一个NSObject,并将它分配给一个新的类,它具有按钮和文本框的插口和动作,但是当我与一个按钮交互时,我得到一个“无法识别的选择器发送到实例” 。

任何帮助将是伟大的。

最佳, 沃德

+2

你能发布完整的崩溃报告吗?饼干甜甜圈,按钮不发送消息到你认为它的对象。 – 2009-12-19 18:02:58

回答

1

不要忘记,xibs不是模板 - 他们是冷冻干燥的对象。一个按钮与另一个按钮没有连接。

6

您在Interface Builder中添加的对象在XIB加载时实例化,您不能在多个XIB中拥有相同的对象。

您用来连接多个XIB的是您在每个XIB中看到的“文件所有者”对象。当您使用[NSBundle loadNibNamed:@"myXIB" owner:self]加载XIB时,您作为所有者对象传入的内容将以加载的XIB和Cocoa中的文件所有者的身份结束您所拥有的IBOutlets和IBActions(请务必设置文件所有者的适当类对象在Interface Builder中)。

因此,您可以使横向视图的控制器对象为纵向视图XIB的所有者,并将所有IBActions放置在该控制器中,在这两个XIB中都可以访问它们(通过一个控制器并通过文件所有者在另一个)。