Ios XIB是否总是需要视图控制器?
如果我在Ios XIB是否总是需要视图控制器?,ios,xcode,interface-builder,Ios,Xcode,Interface Builder,如果我在IB中使用接口,我必须始终需要一个基本UIViewController还是直接跳到UIView 到目前为止,我所有的设计都是在obj-c中进行的,这使得工作更加繁忙 如果我必须使用UIViewController,如果这就是我想要的,有没有办法从中吸取UIView 我只想能够从XIB中拉出静态布局,而不是将它们放在obj-c中 任何建议都将不胜感激 在iOS 5中,不建议再使用XIB,您应该使用故事板。 为了简单地回答您的问题,每个顶级视图都需要一个视图控制器来负责 所有子视图都可以作为
IB
中使用接口,我必须始终需要一个基本UIViewController
还是直接跳到UIView
到目前为止,我所有的设计都是在obj-c
中进行的,这使得工作更加繁忙
如果我必须使用UIViewController
,如果这就是我想要的,有没有办法从中吸取UIView
我只想能够从XIB
中拉出静态布局,而不是将它们放在obj-c
中
任何建议都将不胜感激 在iOS 5中,不建议再使用XIB,您应该使用故事板。 为了简单地回答您的问题,每个顶级视图都需要一个视图控制器来负责
所有子视图都可以作为视图控制器中的一个出口,并从那里进行处理。
UIViewController
有一个方便的initWithNib:bundle:
方法,使一切变得非常简单,但也有一些方法可以通过以下方式从xibs获取对象:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"WhateverItsNamed" owner:self options:nil];
(此处的nib数组包含与存储在XIB文件中的任何对象相对应的对象)。不,如果UIViewController不能满足您的需要,则不需要它 初始化UINib后,使用其:
-instantiateWithOwner:options:
访问nib内容。使nib的根对象成为UIView(或其子类)。如果计划与文件所有者建立连接,则需要将文件所有者设置为上下文适当的类。否,不需要将
UIViewController
与XIB关联
首先,不要将视图控制器添加到XIB。然后,您通常会使用
NSNib
或UINib
api来访问nib的顶级对象——这样您就可以避免使用视图控制器,在nib编辑器中设置您想要的任何结构,并根据需要以编程方式访问nib中的对象。您只想创建布局并将其保存在XIB文件中吗?我不清楚你的倒数第二句话。你也可以使用nib/xib进行非顶级视图,我认为这是OP的意图。通过将复杂的视图层次结构拆分为多个NIB,可以显著缩短加载时间。