2013-07-03 109 views
5

我注意到,我可以放入单个xib多个UIView;主视图与文件的所有者相关联,但如何引用xib中的其他视图?Ios单个xib具有多个视图

我的需求:我有一个xib视图分割为一个固定的顶部和底部部分由一个带有三个选项卡按钮的tabbar组成:通过单击每个按钮我需要加载一个子视图,所以我的想法是将其他在其他视图中的相同xib中的子视图,并根据需要加载它们。如何做到这一点? 谢谢

回答

7

您可以在头文件中创建IBOutlets,并将它们与其他视图关联起来,就像其他任何Interface Builder组件一样(或者甚至只是按住Ctrl键并将视图拖到您的代码中,如果您正在工作在XCode的自动助理模式下)。

例如,假设你有一个名为FooViewController一个视图控制器,以及配套FooViewController.xib接口文件:

@interface FooController : UIViewController 

@property (nonatomic, retain) IBOutlet UIView *additionalView; 

@end 

...然后你可以连接你的另一角度观察到其对应的出口(其将出现在文件所有者的IB下)。连接UILabelUIButton确实没有什么不同。

虽然有一点需要注意 - 你说“我的想法是将其他子视图放在其他视图的同一个xib中,并按需求加载它们”。 XIB文件中的所有视图实际上都会同时创建,所以它不会真正按需加载。我怀疑,除非你疯了,否则这在实践中会成为你的问题。

+0

嗨,我可以把视图放在用户界面,但在这个额外的视图按钮不点击。有什么建议? @lxt – alicanbatur