Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios XIB是否总是需要视图控制器?_Ios_Xcode_Interface Builder - Fatal编程技术网

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,可以显著缩短加载时间。