【问题标题】:Dynamic Storyboard or Xibs/Nibs动态故事板或 Xibs/Nibs
【发布时间】:2012-07-26 21:24:00
【问题描述】:

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

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

现在在 iOS 5(甚至在 6 中)故事板正在发挥重要作用。

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

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

【问题讨论】:

标签: ios storyboard customization xib nib


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      该项目甚至托管在 GitHub here,并且拥有 MIT 许可证。

      【讨论】:

        猜你喜欢
        • 2016-01-10
        • 1970-01-01
        • 2013-10-26
        • 2014-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        相关资源
        最近更新 更多