ios - 动态 Storyboard或 Xibs/Nibs

标签 ios storyboard customization xib nib

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

我阅读了一些有关从服务器下载 XML(甚至生成 XIB/NIB 文件)并将其动态添加到您的应用程序的文章。

现在在 iOS 5 中(甚至在 6 中更进一步) Storyboard扮演着重要的角色。

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

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

最佳答案

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

  1. Storyboard非常适合场景管理;它在两者之间建立了视觉联系 你的各种场景/观点。我更喜欢在我的 UI 中尽可能多地使用 Storyboard。 然而,我在一些应用程序中有一些元素可以选择现有的或可重用的 或其他动态 XIB。我只是通过加载将它们与我的 Storyboard联系在一起 代码中的 XIB 在我想要它们的位置。所以,我对你的最终答案 第一个问题是“两者”,其中尽可能使用 Storyboard,XIB 用于 动态场景/ View 。

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

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

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

关于ios - 动态 Storyboard或 Xibs/Nibs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11700673/

相关文章:

除 mach_absolute_time() 之外的 iOS 真正的单调时钟

ios - Ionic 1 应用程序 XHR 请求在浏览器/Android 上工作在 iOS 上失败

ios - UITableView 不显示在模拟器中

iOS pushViewController 不工作

ios - 如何在 Xcode 4 上创建一个新的 "templates"类别并在那里使用我自己的文件模板?

iOS - YouTube JSON-C 解析

ios - 给 UIBarButton 添加阴影

android - 使用自定义适配器从 ListView 中删除项目

每个单元格具有自定义工具提示的数据表

当应用程序处于后台时,iOS 本地通知不会触发