随着storyboard的介绍,当我创建UIViewController的子类时,我不会选择创建.xib / .nib,因为我可以在界面构建器中拖出一个viewcontroller并将其分配给新类。 / p>
那么,使用storyboard,我什么时候需要使用.xib / .nib文件?
谢谢。
答案 0 :(得分:33)
故事板不能完全消除对NIB文件的需求。一个常见的例子是创建子视图以进入UIScrollView
。您无法在故事板中单独创建子视图;相反,您必须为子视图创建单独的NIB,并以编程方式将它们附加到滚动视图。
事实上,几乎在任何需要在运行时更改子视图的场合,您都会想要使用单独的NIB。
故事板非常适合某些类型的应用程序,但对于任何远程复杂的东西,旧的方式仍能很好地工作。另一个好处是它们可以很好地共存。您可以在故事板中放置占位符视图,然后使用NIB定义的视图以编程方式填充它们。
答案 1 :(得分:11)
我想,storyboard包含所有视图的.xib / .nib文件。它提供了它们之间的关系,并帮助您避免混淆,如果你有很多的意见。此外,它还可以在编写代码时节省您的时间和精力。
答案 2 :(得分:10)
我最近尝试过故事板,我对它的使用感到复杂:
<强> Pro的强>
效率:对于简单的用例,我发现故事板比“旧方式”更有效。
示例1:Editor > Embed In > Navigation Controller
和voilà,不再需要实例化和配置。
示例2:您可以为TableView创建“原型单元”,从而大大加快静态表视图的创建速度。 AFAIK这是带有nib文件的not possible
<强>精读的强>
因此,考虑到这些观点,我仍然觉得故事板非常吸引人,但将这两种方法结合起来并不是很重要。此外,这项技术仍然很新,因此可能会在(近)未来有所改善。
答案 3 :(得分:4)
如果使用故事板,通常不需要创建单独的.xib文件。如果你愿意,你可以仍然使用.xib文件 - 它可能是有用的,例如如果你有一个特别复杂的视图,你想自己配置。但大多数情况下,没有必要这样做。