我知道这个问题已经被提了很多,但它是iOS 9,我仍然不知道该怎么做。对于初学者来说,这似乎是我从所有可用数据中推测的:
这两件事的表现方面是什么?我的应用程序基本上如下:
对于这些视图控制器中的每一个,为每个视图控制器创建故事板与为每个视图控制器创建一个xib的性能如何。更重要的是,布置像我之前提到的那个应用程序的好方法。
答案 0 :(得分:3)
您肯定希望使用故事板来布局视图控制器 - 只是因为您可以访问XIB编辑器不会提供给您的topLayoutGuide
和bottomLayoutGuide
。
对于其他观点,这是一个偏好问题。我倾向于将XIB用于表格视图单元格,因为我倾向于在不同的屏幕上重复使用它们,而更喜欢将它们放在自己的文件中。
我实际上建议不要在可能的情况下手动编写视图代码,因为它更难以阅读并弄清楚如何布局视图,特别是对于最初没有编写代码的开发人员!对于简单的,动态大小的东西,这可以很好,但是如果你试图根据大小类布局具有不同约束的视图控制器,那么它将会变得有点混乱。
是的,处理这些文件的合并冲突很痛苦,但是使用iOS 9,您可以使用视图控制器引用更轻松地将视图控制器拆分到不同的故事板中。就个人而言,我发现合并故事板/ XIB的不便之处在于必须在代码中编写所有内容。
答案 1 :(得分:1)
听起来,故事板对于您当前的项目来说是正确的。但是,我的经验是Xibs和Storyboard在现实世界中存在问题,原因如下:
从开发人员到开发人员非常特殊,因此以团队形式构建优秀的故事板非常棘手
黑匣子,所以他们需要掌握大量的知识(难以置信的隐藏行为)。文档中仅介绍了最肤浅的语义。
通过分割国际化变得更加困难,特别是如果你有未包含在Storyboard / Xib中的国际化消息。
向后兼容性每年中断/随着时间的推移保证弃用。如果您尝试保持与旧设备的兼容性,这将特别困难。
一旦两个以上的开发人员开始接触我们的代码,我们就重写了所有内容以完全避免使用Storyboard和Xibs,并且我们的工作效率提高了。
如果您必须处理任何这些真实情况,我衷心建议以编程方式创建所有视图。甚至有一个应用程序可以使这更容易(并且更具可扩展性)。我与这家公司或产品没有任何关系,但这是一个更好的解决方案。