我正在使用“多个nib文件方法”处理2个iOS应用程序 我不久前遇到了故事板,这在效率方面似乎非常好。
有什么理由不切换到故事板(对于非常简单的应用程序)? 在旧方法中是否有任何可能的东西现在不可能实现?
答案 0 :(得分:5)
答案是......这取决于。故事板都很精致和花花公子,但有些情况下,多个笔尖仍然有益。例如,如果您使用滚动视图在屏幕上和屏幕外交换多个子视图,那么在其自己的NIB中设计每个子视图要容易得多,然后以编程方式加载和添加它们。
我找到了一个舒适的折衷方案:我使用故事板作为主应用程序屏幕和任何主要状态转换(例如'主'模式到'配置'模式),但我仍然使用单独的NIB用于关闭的子视图 - 屏幕开始(例如,动态创建的弹出窗口不依赖于固定的UI元素。)我获得了大型故事板的简易性和效率,这在过去可能有点棘手,但我可以充分灵活地设计非常动态的UI使用单独的NIB。
有趣的是,我听说故事板对于那些在任何规模的团队中发展的人来说都是一种特别的痛苦。他们非常难以分享,他们将分开区域的责任分开几乎是不可能的。在这些情况下,单独的NIB可以完美地工作。
他们是另一种工具,仅此而已。他们当然不是一个完全的替代者(至少,还没有。)
答案 1 :(得分:1)
您可能坚持使用NIB和编程转换而不是故事板的主要原因是保持与iOS 4及更低版本的兼容性。一旦您支持iOS 5,那么使用NIB的理由就会非常少,但是当您希望能够按需加载资源时,它们仍可用于任何场合,可能好几次。
所以,在我的头脑中,我仍然希望使用NIB来设计UITableViewCells和其他类似内容,并以一种以可视化编辑方式存储图形类型数据的方式。
我不确定它的实践有多常见,但通常当我想要一个程序使用的调色板从目标到目标或通过区域设置变化时,我发现创建一个更容易管理NIB将一组视图设置为相关的调色板颜色,并以编程方式加载NIB并拉出颜色。我发现这是一个很好的解决方案,因为您通过可视化编辑器设置了事物的可视属性,内置于IDE中。
答案 2 :(得分:0)
我喜欢故事板而不是“多个nib文件方法”。我在故事板中遇到的困难部分是Control对象。两个视图之间的消息传递并不困难,但一旦你理解它就会很容易。所有的东西都可以通过多个nib文件方法实现。我建议你在多个nib文件上使用故事板。