【问题标题】:What is the difference between a .xib file and a .storyboard?.xib 文件和 .storyboard 有什么区别?
【发布时间】:2012-01-16 04:54:20
【问题描述】:

有人能用简单的话解释一下 .xib 和 .storyboard 之间的区别吗?

【问题讨论】:

  • 我不知道 .timeline 是什么,我怀疑它与标签所指的 Facebook 时间线无关
  • 这两个问题完全不同吗,乔治?另外,当你说.timeline时,你是在说versions of a saved file吗?
  • 您在这里有两个不同的问题,所以我将其精简为一个。第一个问题已经在这里问过几次了,比如在 Cannot find window-based application on XCode 中,所以我删除了该部分以专注于 Storyboard 问题。
  • 另见这个类似的问题,When to use Storyboard and when to use XIBs。有非常详细的答案,包括 iOS 8 和 Xcode 6 的更新。

标签: iphone ios ios5 xib xcode-storyboard


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    您可以通过取消选中“使用情节提要”选项来避免在创建新项目时使用Storyboard

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

    【讨论】:

    • 故事板是否取代了对 .xib 文件的需求?
    • 理想情况下,是的。 1 .storyboard 文件 = 'n' 没有。 .xib 文件。
    • 视图之间的转换呢?我知道有segues,但只有几种不同风格的segues。我假设您仍然可以像以前一样在视图之间转换,但是如果您不使用 segue,它在故事板中看起来会很奇怪,对吧?您对此有何看法?
    • 在那种情况下,我相信 NavigationControllers 会发挥作用?
    • 有趣的事实:我用这篇文章来炫耀我(有限的)iOS 信誉:D
    【解决方案3】:

    故事板就像一块画布,您可以在其中放置所有 .xib 文件。你不再有任何 .xibs,你只是在你的画布上直接有视图控制器。

    【讨论】:

    • 可能是最有用的答案。
    【解决方案4】:

    storyboard 是自 Xcode 4.2 发布以来可用的新功能。 它为 iOS 开发者提供了一种全新的创建和设计方式 用户界面。在引入 Storyboard 之前,尤其是 初学者很难创建导航(和标签)界面。每一个 接口存储在单独的 xib 文件中。最重要的是,你必须 编写代码将所有接口链接在一起并描述如何 导航有效。

    使用 Storyboard,所有屏幕都存储在一个文件中。这给 您对应用程序的视觉表示有一个概念性概述,以及 向您展示屏幕是如何连接的。 Xcode 提供了一个内置的 编辑器来布局故事板。您可以定义转换(已知 作为segues)在各种屏幕之间简单地使用点击。这 并不意味着您不需要为用户界面编写代码。但 故事板显着减少了您需要编写的代码量。

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

    【讨论】:

      【解决方案5】:

      XIB:

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

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

      3)与情节​​提要相比,它使用更多的内存并且速度很慢。

      1. 从iOS5及以上兼容

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

      3. 很难使用同一个 Xib 来支持多个设备。

      故事板

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

      2)您可以轻松地使用自动布局来定义元素之间的数学关系,从而定义它们的位置和大小。

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

      4)iOS 5 之前不兼容。

      5)“动态”和“原型”单元格可以轻松使用。

      6)Storyboards 最适合用于中小屏幕的应用程序。

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

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-01
          • 2011-04-13
          • 2012-09-03
          • 2017-05-09
          • 2012-03-12
          • 1970-01-01
          • 2016-04-25
          相关资源
          最近更新 更多