iOS:在一个故事板中拥有多个未连接的屏幕是一种很好的做法

时间:2018-01-25 00:17:24

标签: ios xcode uiviewcontroller storyboard

我正在构建一些信息屏幕,它们有不同的布局/设计(即无法推广),因为它们都是我将它们放在一个故事板中的信息屏幕,但是它们没有任何连接,只是基于响应我显示不同的信息屏幕。

我有点不确定,如果这样做是一个好习惯吗?我不能想到另一种方法,这是更好的,分离的XIB?不同的故事板?或者根据设计动态更新布局/内容的单个屏幕(这听起来像个坏主意)?

我唯一能想到的缺点是故事板没有初始屏幕,感觉有点违背故事板的目的 - 你正在讲故事"通过导航流程中的屏幕。

我是否正确思考,有更好的方法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

以下两个很好的理由将独立场景放在一个故事板中:

  • 更大的故事板需要更长时间才能加载和保存。

  • 如果这是一个多人项目,您更有可能遇到合并冲突。

这是将独立场景放在一个故事板中的一个很好的理由:

  • 您经常需要一次修改几个场景。

通常使用单个XIB会更简单,更轻巧,除非您确实需要特定于故事板的功能,例如segues。

答案 1 :(得分:0)

在故事板中添加屏幕的一个优点是,您可以通过故事板参考连接它们。

故事板并不总是需要一个初始控制器。

实际上,在您的方案中选择故事板与xib是个人选择。

答案 2 :(得分:0)

我们只是规定,拥有多个屏幕但不通过多个视图控制器和他们的视图来表示它们只是愚蠢的。视图控制器存在是有原因的;使用它们。因此,您制作视图控制器视图的选择是:

  • 完全使用代码

  • 创建界面
  • 使用xib文件

  • 使用故事板

你要求在最后两个之间做出选择。但就你而言,没有什么可以选择的,因为:

  • xib文件是一种生成笔尖的方法。如此多的xib文件会为您提供许多笔尖。

  • 故事板是一个集合的笔尖(即它的多个笔尖合二为一) - 附加功能可以包含segues。

如果你不使用segues,那么故事板就是很多笔尖而且就是这样 - 就像有很多xib个文件一样。因此,如果您将在故事板中的视图控制器之间使用segue,那么这种或那种方式没有任何优势或劣势:它只取决于您的个人风格。

我个人认为故事板界面使用起来很麻烦,如果你想在不使用segue的情况下从故事板中实例化视图控制器,你必须给它一个标识符并强制转换为视图控制器类,而如果你使用同名xib实例化一个视图控制器,你按类实例化它并自动加载它的视图,这是更整洁的。

所以我倾向于使用单独的xib文件,但这只是一个意见/品味问题, de gustibus non disputandum