9

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

我已经阅读了一些关于从服务器下载 XML(甚至生成的 XIB/NIB 文件)并将它们动态添加到您的应用程序的内容。

现在有了 iOS 5(甚至在 6 中更进一步),故事板正在发挥重要作用。

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

我不是在寻找灵丹妙药,也不是在讨论 HTML5 与原生的对比,只是关于如何提供动态界面以及哪些技术可以帮助实现这一点的一些信息。

4

3 回答 3

8

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

  1. 故事板非常适合场景管理;它在您的各种场景/视图之间创建视觉连接。我更喜欢在我的 UI 中尽可能多地使用故事板。但是,我在某些应用程序中有一些元素可以获取现有的或可重用的或其他动态的 XIB。我只是将这些与我的故事板联系在一起,方法是将 XIB 加载到我想要它们的位置的代码中。因此,我对您的第一个问题的最终答案是“两者”,其中尽可能使用情节提要,而 XIB 用于动态场景/视图。

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

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

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

于 2012-08-01T19:04:43.893 回答
1

故事板一路!我曾经绝对不喜欢故事板,但后来我习惯了它们,现在我爱上了它们。故事板是要走的路。

于 2012-08-07T00:02:32.303 回答
0

布局似乎是在 iOS 上开发动态 GUI 的一个非常强大的框架。

免责声明:我不是该框架的作者;作者是 Nick Lockwood,他似乎在 SO 上有一个帐户。我通过谷歌搜索“ios dynamic gui”找到了这个问题和 Nick Lockwood 的布局框架。

我还没有尝试过,但它看起来很有希望。

该项目甚至托管在此处的 GitHub 上,并且拥有 MIT 许可证。

于 2018-10-10T09:17:36.880 回答