如果我在IB
中创建了界面,我必须始终需要基础UIViewController
,还是可以直接跳到UIView
?
截至目前,我正在obj-c
进行所有设计,这使得忙碌的工作。
如果我必须使用UIViewController
,那么无论如何都要将UIView
吸出来,如果那是我想要的那么?
我只是希望能够从XIB
中提取静态布局,而不是将它们放在obj-c
中。
任何建议赞赏!
答案 0 :(得分:1)
UIViewController
有一个方便的initWithNib: bundle:
方法,可以让一切变得如此简单,但也有办法通过以下方式从xib获取对象:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"WhateverItsNamed" owner:self options:nil];
(这里的nib数组包含对应于XIB文件中存储的任何对象的对象。)
答案 1 :(得分:1)
不,如果它不能满足您的需求,您不需要UIViewController。
初始化UINib后,请使用:
-instantiateWithOwner:options:
访问nib内容。使nib的根对象成为UIView(或其子类)。如果您打算与文件所有者建立连接,则需要将文件所有者设置为适合上下文的类。
答案 2 :(得分:1)
不,您不需要将UIViewController
与XIB相关联。
首先,不要将视图控制器添加到XIB。然后,您经常使用NSNib
或UINib
API来访问nib的顶级对象 - 这样您就可以避免使用视图控制器并在NIB编辑器中设置您想要的任何结构,并根据需要以编程方式访问NIB中的对象。
答案 3 :(得分:0)
在iOS 5中,不建议再使用XIB,而应使用故事板。 简单地回答你的问题,每个顶级视图都需要一个视图控制器来负责它。
所有子视图都可以作为视图控制器中的插座,并从那里进行处理。