加载外部NIB,如何设置视图属性?

时间:2010-06-11 19:32:30

标签: objective-c iphone cocoa-touch uiview interface-builder

如果我从另一个NIB加载视图,如何设置文件的所有者视图属性? IB不允许我将它连接到正在加载外部NIB的View Controller。

我的NIB看起来像这样:

File's Owner - Identity is set to LBRootViewController

First Responder

LBTableViewController - Identity is set to LBTableViewController, NIB Name is LBTableViewController

2 个答案:

答案 0 :(得分:2)

您无法将文件所有者设置为另一个笔尖中定义的视图控制器,因为您无法跨笔尖设置插座。每个视图控制器必须是其自己的笔尖的文件所有者。

没有nib应该有两个一次处于活动状态的控制器。导航中具有根控制器的设置实际上没有两个控制器,而是使根控制器在运行时加载第二个控制器nib。

看起来你应该有两个笔尖:LBRootViewController.xibLBTableViewController.xib。每个nib的文件所有者是nib所命名的类的实例。您可以在LBRootViewController类中创建一个指向LBTableViewController实例的插座。加载LBRootViewController.xib时,在访问作为插座的属性之前,不会触发LBTableViewController.xib的加载。

答案 1 :(得分:1)

选择文件所有者代理(在NIB窗口中)并切换到检查器选项板中的标识选项卡(带有circle-i图标的最右侧选项卡)。将Class字段设置为NSViewController(或者任何视图控制器子类,如果有的话)。你现在应该可以拖动你的插座!