动态故事板或Xibs /笔尖

Zyp*_*rax 9 customization storyboard xib nib ios

我们公司正在为iPad开发一个相当大的应用程序.最终,我们希望能够为每个客户(租户)甚至每个用户(该客户)自定义UI.我们从HTML5开始,但正在转向原生.

我已经完成了从服务器下载XML(甚至生成XIB/NIB文件)并动态添加到应用程序的阅读.

现在有了iOS 5(甚至还有6个),故事板正在发挥重要作用.

我的问题:
- 使用(多个?)故事板或XIB会更好吗?
- 如果我想提供动态用户界面,我有哪些选择?

我不是在寻找一个神奇的药丸,也不是关于HTML5与本机的讨论,只是关于我如何提供动态界面以及哪些技术可以帮助这样做的一些信息.

joh*_*doe 8

我对你的两个问题的回答是:

  1. 故事板非常适合场景管理; 它在您的各种场景/视图之间创建视觉连接.我更喜欢在尽可能多的UI中使用storyboard.但是,我在一些应用程序中有一些元素可以获取现有的或可重用的或其他动态的XIB.我只是通过在我想要的位置加载代码中的XIB,将它们与我的故事板结合在一起.所以,我对你的第一个问题的最终答案是"两者",尽可能使用故事板,以及用于动态场景/视图的XIB.

  2. 您对动态用户界面的选项至少包括以下两个选项(如上所述,我更喜欢第二个选项):

    1. 使用XIB文件创建所有代码,并在代码中执行没有故事板的所有UI转换
    2. 创建尽可能多的UI,在viewControllers与storyboard之间的关系方面保持相对静态,然后使用initWithNibName:bundle加载UI的动态部分:

最后,如果情况需要,您可以使用多个故事板,这甚至可以应用于动态UI,无论是来自故事板中其他地方创建的可重用组件还是单独维护,还是故事板XML(如果您查看故事板源,它是只是在引擎盖下的XML)无论是从生成的东西还是在任何地方获得的.如果您的应用程序将具有多个复杂的互连视图控制器场景(例如,UITabBarController中的每个选项卡可能都有自己的故事板,每个故事板的场景rootController连接/加载时,您甚至可以决定在设计阶段使用多个故事板管理您的UI.选择一个标签).