`

iOS开发那些事--nib、xib与故事板的关系

阅读更多

nib、xib与故事板

如果大家使用过苹果的官方资料,一定会发现某些资料上会提到nib文件,那么nib与xib是怎样的一种关系呢?

最初只有nib文件,后来将其更名为xib,但大家一直沿袭nib这个叫法(即称xib文件为nib文件),所以目前为止,nib等同于xib。xib文件采用xml格式。

前文已提到故事板是用来替代xib的,那么两者除后缀名外,还存在哪些差异呢?

首先,在数量上,使用故事板技术时,一个工程只有一个故事板文件。当使用xib技术时,xib在数量上与视图控制器相对应,而一个工程可能会有很多视图控制器,相应地就会有很多xib文件。

其次,故事板与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码或利用其他资源。下面我们来举例说明。

我们要做这样一个应用:两个不同的画面,有两个标签分别与其对应,点击标签两个画面实现互相切换,该应用采用标签栏导航模式,设计原型草图见图

1

选择Tabbed Application模板,分别采用xib和故事板文件实现

    2

可以看到采用xib技术的时候两个画面有两个xib文件,而采用故事板时候两个画面只有一个MainStoryboard.storyboard文件

打开MainStoryboard.storyboard文件。

3

应用包含两个视图,两个视图存在切换关系,这些信息从上图中一目了然。事实上故事板是多个xib文件集合的描述文件,也采用xml格式。

需要特别提出的是,虽然苹果官方主张使用故事板,但最正确的做法是我们要根据具体情况、具体问题对故事板和xib做以取舍,而不是一概而论。当应用 数据量很大、画面很多、关系很复杂的时候,如果使用storyboad技术,那我们在IB设计器中的工作就会变得庞大而复杂,除此之外整个工程的性能也会 受到一定影响。

分享到:
评论

相关推荐

    xib转nib脚本.zip

    在iOS应用开发中,XIB(Interface Builder Document)和NIB(NeXT Interface Builder)文件是两种用于描述用户界面布局的资源。它们都是XML格式,用于定义UI元素、控件和它们之间的关系。然而,两者之间存在一些差异...

    nib2objc 将XIB文件自动转换为Objective-C的源代码文件

    nib2objc是一个小巧的转换工具,可以将XIB文件自动转换为Objective-C的源代码文件。 通常,考虑到程序的效率时,才将XIB直接转换为源代码文件。但是这样一来,通过Interface Builder设定的实例变量与行为方法的接续...

    IOS 使用XIB 自定义View

    在iOS开发中,XIB文件常用于替代代码硬编码的方式来创建UI,提供更加直观和易于维护的设计方式。XIB文件可以包含多个视图组件,如UILabel、UIButton等,以及它们之间的约束关系。 **步骤1:创建XIB文件** 在Xcode...

    StoryBoard与xib互相调用

    在iOS应用开发中,StoryBoard和xib文件是两种常用的设计界面的方式,它们允许开发者以可视化的方式构建用户界面。本文将深入探讨如何在项目中实现StoryBoard与xib之间的互相调用,以及StoryBoard之间的直接调用。 ...

    NibToXibConverter:简单的应用程序,将nib转换为xib

    nib和xib是iOS开发中两种不同的用户界面资源文件格式,它们都用于描述应用程序的界面布局。Nib(Interface Builder Document)是苹果早期的界面设计工具 Interface Builder 创建的文件,而Xib(XML Interface ...

    让不懂编程的人爱上iPhone开发(2013秋iOS7版)-第4篇1

    《让不懂编程的人爱上iPhone开发(2013秋iOS7版)-第4篇1》这篇文章是面向初学者介绍如何使用Xcode进行iOS应用开发的教程。本文将深入讲解其中的关键知识点,帮助初学者理解iOS界面构建和Xcode工具的使用。 首先,...

    swift-AddJackTemplates-xcode定制文件模板UIView绑定xib一键生成统一头文件标题样式

    `AddJackTemplates`是一个针对Xcode的自定义文件模板工具,它可以帮助开发者快速创建与xib文件绑定的UIView类,并且能一键生成统一风格的头文件,确保代码的整洁和一致性。这个工具特别适合在团队开发中使用,以保持...

    IOS封装纯代码和xib通用控件

    在iOS开发中,为了提高代码复用性和降低项目复杂度,开发者经常需要封装自定义控件。本教程将深入探讨如何创建一个既能通过纯代码编写,也能与XIB(Interface Builder)结合使用的通用控件。我们将以“myViewDemo”...

    静态库中使用xib

    在iOS开发中,静态库(Static Library)是一种预先编译好的代码库,开发者可以将其集成到自己的项目中,以复用已有的功能或组件。静态库通常包含一系列编译后的对象文件,它们在链接阶段会被合并到应用程序的可执行...

    nib2objc工具

    nib2objc工具是一款针对iOS开发的实用小工具,它的主要功能是将.xib或.storyboard文件转换为Objective-C代码,方便开发者快速地将界面设计与代码实现相结合。在这个过程中,nib2objc能够帮助开发者节省大量的手动...

    iOS通过xib自定义cell

    在iOS开发中,自定义UITableViewCell是提升应用界面美观度和用户体验的重要手段。XIB(XML Interface Builder)文件是一种用于设计用户界面的图形工具,可以让我们更直观地创建和配置自定义Cell。本教程将深入讲解...

    xib转换成objective-c的方法

    在iOS开发中,Xib(Interface Builder)文件是用于创建用户界面的一种图形工具,它可以方便地设计和布局UI元素。然而,在某些情况下,开发者可能需要将Xib转换为Objective-C代码,以便更好地控制代码逻辑,或者为了...

    动态加载XIB文件DEMO

    在iOS开发中,动态加载XIB文件是一种常见的优化技术,它可以提高应用的性能和灵活性。XIB(Interface Builder Document)是Apple的用户界面设计工具,用于创建和编辑UI元素。这篇DEMO展示了如何在运行时根据需要加载...

    使用NIB父类来创建UIVIEW

    在iOS开发中,UI设计和布局是至关重要的部分。`NIB`(Interface Builder Document)是一种苹果提供的工具,用于可视化地构建用户界面。通过使用NIB文件,开发者可以脱离代码,直观地设计UI元素,然后在运行时加载到...

    nib2objc源码

    - `NIBParser`: 这个类可能是负责解析.nib或.xib文件的入口,它读取XML格式的IB文件并将其转换为内部数据结构。 - `ObjectFactory`: 可能用于根据解析出的IB对象创建对应的Objective-C类实例。 - `...

    iPhone开发使用Xib自定义UITableViewCell

    在iOS应用开发中,使用Xib(XML Interface Builder)文件自定义UITableViewCell是一种常见的做法,它可以帮助我们更方便地设计和管理界面。这篇文章将详细介绍如何在iPhone开发中利用Xib来创建自定义的...

    ios TableView 自定义cell 分代码布局和xib两种方式

    在iOS开发中,UITableView是展示数据的常用控件,它以行和列的形式展示信息。在实际应用中,为了使界面更加丰富和个性化,我们常常需要自定义UITableViewCell。本篇文章将详细探讨两种自定义UITableViewCell的方法:...

    UITableView自定义Cell-XIB.zip

    在iOS开发中,UITableView是展示数据列表的重要控件,而自定义Cell则可以让我们的应用界面更加丰富多彩,提供更好的用户体验。本教程将详细讲解如何利用XIB(Interface Builder)文件来创建自定义的UITableViewCell...

    IOS应用源码之ios个性化每个tableMHNibTableViewCell.zip

    在iOS应用开发中,UI设计和用户体验是至关重要的部分,特别是在构建复杂的表格视图(UITableView)时。"ios个性化每个tableMHNibTableViewCell"这个压缩包文件包含了一个示例项目,展示了如何在iOS应用中实现对每个...

Global site tag (gtag.js) - Google Analytics