有人可以用简单的词语解释.xib和.storyboard之间的区别吗?
答案 0 :(得分:110)
Apple在iOS5 SDK中引入了"storyboarding"
概念,以简化和更好地管理应用中的屏幕。您仍然可以使用.xib
开发方式。
预演示板,每个UIViewController
都有一个关联的.xib
。 Storyboard
实现了两件事:
.storyboard
实际上是应用中所有屏幕的单个文件,它显示了屏幕的流程。您可以通过这种方式在屏幕之间添加segues
/过渡。因此,这最大限度地减少了管理多个屏幕所需的样板代码。
最大限度地减少应用中的文件总数。
您可以通过取消选中“使用故事板”选项来避免在创建新项目时使用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,可以添加多个屏幕并且还可以监视其流程(它有单独的文件所有者)。