【问题标题】:Is there a point to use multiple nib files now that there is storyboards?既然有故事板,那么使用多个 nib 文件是否有意义?
【发布时间】:2012-01-18 19:31:10
【问题描述】:

我正在使用“多 nib 文件方法”开发 2 个 iOS 应用程序。
不久前我遇到了故事板,这在效率方面似乎真的很棒。

有什么理由不切换到情节提要(对于非常简单的应用程序)? 旧方法中是否有任何现在不可能的东西?

【问题讨论】:

  • 鉴于您已将问题标记为 ios5,因此与 iOS 4 的兼容性可能已被排除在外吗?
  • @tommy,对不起,我的错误,我会删除它。我想所有的功能都不兼容。

标签: ios xcode storyboard


【解决方案1】:

答案是……视情况而定。故事板都很好而且很漂亮,但在某些情况下,多个笔尖仍然是有益的。例如,如果您使用滚动视图在屏幕上和屏幕外交换多个子视图,那么在其自己的 NIB 中设计每个子视图,然后以编程方式加载和添加它们要容易得多。

我找到了一个舒适的折衷方案:我对主应用程序屏幕和任何主要状态转换(例如,从“主”模式到“配置”模式)使用故事板,但我仍然对关闭的子视图使用单独的 NIB -screen 开始(例如,动态创建的弹出框不绑定到固定的 UI 元素。)我获得了故事板的易用性和效率,这在过去可能有点棘手,但我在设计非常动态的 UI 时获得了充分的灵活性使用单独的 NIB。

有趣的是,我听说故事板对于在任何规模的团队中开发的人来说都是一个特别痛苦的事情。它们极难共享,并且几乎不可能将职责划分为不同的领域。在这些情况下,单独的 NIB 可以完美运行。

它们是另一种工具,仅此而已。它们当然不是完全替代品(至少现在还没有。)

【讨论】:

  • +1 分享部分,你说得对,这真的很痛苦。
【解决方案2】:

您可能坚持使用 NIB 和程序化转换而不是故事板的主要原因是为了保持与 iOS 4 及更低版本的兼容性。一旦您只支持 iOS 5,就几乎没有理由使用 NIB,但是当您希望能够按需加载资源(可能多次加载)时,它们仍然很有用。

所以,在我的脑海中,我仍然希望使用 NIB 来设计 UITableViewCells 和其他类似内容,并作为一种以视觉可编辑的方式存储图形类型数据的方式。

我不确定这种做法有多普遍,但通常当我希望程序使用的调色板因目标或语言环境而异时,我发现使用以下命令创建 NIB 更易于管理一组视图设置为相关的调色板颜色,并以编程方式加载 NIB 并将颜色拉出。我发现这是一个很好的解决方案,因为您可以通过直接内置于 IDE 中的可视化编辑器设置事物的可视化属性。

【讨论】:

  • UITableViewCell 原型和静态表格视图仅在情节提要模式下可用,因此在我看来,在情节提要而不是 XIB 中创建这些东西实际上更容易。
【解决方案3】:

比起“多笔尖文件法”,我更喜欢故事板。我在故事板中遇到的唯一困难部分是控制对象。两个视图之间的消息传递有点困难,但是一旦你理解了它就会很容易。所有的东西都是可能的,你可以通过多个 nib 文件方法来实现。我会建议你在多个 nib 文件上使用故事板。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 2020-03-16
  • 2013-11-25
  • 2012-01-19
  • 2012-01-26
  • 1970-01-01
  • 2012-06-08
相关资源
最近更新 更多