.xib文件和.storyboard有什么区别?

时间:2011-12-08 19:13:05

标签: iphone ios ios5 xib xcode-storyboard

有人可以用简单的词语解释.xib和.storyboard之间的区别吗?

6 个答案:

答案 0 :(得分:110)

Apple在iOS5 SDK中引入了"storyboarding"概念,以简化和更好地管理应用中的屏幕。您仍然可以使用.xib开发方式。

预演示板,每个UIViewController都有一个关联的.xibStoryboard实现了两件事:

  1. .storyboard实际上是应用中所有屏幕的单个文件,它显示了屏幕的流程。您可以通过这种方式在屏幕之间添加segues /过渡。因此,这最大限度地减少了管理多个屏幕所需的样板代码。

  2. 最大限度地减少应用中的文件总数。

  3. 您可以通过取消选中“使用故事板”选项来避免在创建新项目时使用Storyboard

    您可以参考此tutorial开始使用。

答案 1 :(得分:22)

是的,您仍然可以为iOS 5创建基于Window的应用程序。如果使用“空项目”模板,您将看到在应用程序委托中为您创建了一个窗口。从那里,您可以正常添加XIB文件,也可以添加新的故事板。

我假设你的意思是“故事板”而不是“时间轴”。通过故事板,您可以直观地绘制应用程序中的所有视图以及它们之间的相互关系。如果您刚开始使用故事板,则会在WWDC 2011视频中here介绍故事板。 iTunes-U上的2011 Stanford iOS course也是iOS 5特定的,涵盖了故事板等等。

答案 2 :(得分:13)

故事板就像一个画布,您可以放置​​所有.xib文件。您不再拥有任何.xib,只需在画布上直接使用View Controllers即可。

答案 3 :(得分:9)

  自从Xcode 4.2发布以来,

storyboard是一个新功能。   它为iOS开发人员提供了一种全新的创建和设计方式   用户界面。在故事板的介绍之前,它尤其如此   初学者很难创建导航(和标签)界面。一切   interface存储在单独的xib文件中。最重要的是,你必须   编写代码将所有接口链接在一起并描述如何   导航工程。

     

使用Storyboard,所有屏幕都存储在一个文件中。这给了   您对应用程序和视觉表示的概念性概述   向您展示屏幕的连接方式。 Xcode提供内置功能   编辑器布局故事板。您可以定义过渡(已知   只需使用点击即可在各种屏幕之间进行segues。这个   并不意味着您不需要为用户界面编写代码。但   故事板显着减少了您需要编写的代码量。

来源:http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

答案 4 :(得分:2)

<强> XIB:

1)Xib文件与单个UIView一起使用。

2)在xib中实现复杂的自动布局非常困难。

3)与故事板相比,它使用更多的内存,而且安静缓慢。

4)从iOS5开始兼容

5)您可以使用不同语言和国家/地区进行本地化    不同的XIB。

6)使用相同的Xib来支持多个设备很困难。

<强>故事板

1)您可以在一个故事板中布置所有场景,如视图控制器,导航控制器,TabBar控制器等。

2)您可以轻松使用自动布局,定义定义其位置和尺寸的元素之间的数学关系。

3)通常快速并分配更少的内存。

4)在iOS 5之前它不兼容。

5)“动态”和“原型”细胞可以很容易地使用。

6)故事板最适合用于少量到中等数量屏幕的应用。

我见过的最佳答案:Xib Vs Storyboard in iOS

答案 5 :(得分:0)

XIB和Storyboard用于为用户创建界面。

重要的一点是,xibs用于创建单个视图(它在xib文件的顶部有单个文件所有者),但是对于viewcontroller,可以添加多个屏幕并且还可以监视其流程(它有单独的文件所有者)。