【发布时间】:2016-12-26 03:10:09
【问题描述】:
我目前正在研究故事板、xib 和自定义代码之间的区别,但我对应该使用什么来开发应用程序感到困惑。我的问题是,可以将 Storyboard、XIB 和自定义代码组合在一个项目中吗?如果我使用这三个,是否存在性能问题和内存泄漏问题?
【问题讨论】:
-
检查我的答案 raizencelf
标签: ios storyboard xib
我目前正在研究故事板、xib 和自定义代码之间的区别,但我对应该使用什么来开发应用程序感到困惑。我的问题是,可以将 Storyboard、XIB 和自定义代码组合在一个项目中吗?如果我使用这三个,是否存在性能问题和内存泄漏问题?
【问题讨论】:
标签: ios storyboard xib
在您的 ONE PROJECT 中使用所有这些东西是 100% 可能的。首先您需要了解区别
iOS Storyboards:一种用于布置多个应用程序视图以及它们之间的转换的可视化工具。
NIB(或 XIB):每个 NIB 文件对应一个视图元素,并且 可以在 Interface Builder 中进行布局,使其成为一个可视化工具 好吧。请注意,名称“NIB”源自文件扩展名 (以前的 .nib 和现在的 .xib,虽然旧的发音有 坚持)。
自定义代码:即没有 GUI 工具,而是处理所有自定义 以编程方式定位、动画等。
iOS User Interfaces: Storyboards vs. NIBs vs. Custom Code
Storyboard 与 XIB 的优势
1. 可以直接在 Storyboard 中创建 UITableViewCells 原型。
2.可以定义静态 UITableView 部分和行。
3.可以使用自动布局给topLayoutGuide添加约束和 底部布局指南。
4.可以指定导航和过渡(这是主要目的之一!)。
5.可以在一个地方定义多个“屏幕”(UIViewControllers)(不需要多个XIB)。
故事板与代码和 XIB 的不便
1.Storyboard 是大文件:有时加载缓慢。
2.需要大屏幕才能显示全部(甚至部分)内容。
3. 合并时容易破坏(Git)。
4. 合并 (Git) 为 Storyboard 时很有可能破坏它 包含大量信息。
5.支持 iOS 7 和 iOS 8 时出现大量警告(边距、大小 类)。
6.不能引用(或包含)其他 XIB。
【讨论】:
是的,可以在一个项目中结合 Storyboard、Xib 和自定义代码。尝试在情节提要中完成大部分工作,以便我们可以减少代码。XIB 在某些情况下很有帮助,例如,显示自定义警报。
【讨论】:
有使用全部 3 个的项目。更具体地说,tableview 单元格在他们自己的 xib 上,但 tableviewcontroller 在故事板上,其他随机 viewcontroller 完全在代码上。
【讨论】: