【问题标题】:iOS: create a XIB from a UIViewiOS:从 UIView 创建 XIB
【发布时间】:2012-06-12 10:48:40
【问题描述】:

我在旧项目中使用绝对定位在代码中布局了很多视图。这段代码真的很难维护。我想将代码移植到使用界面生成器,但我必须手动重新布置每个视图。

是否可以从现有的 UIView(以编程方式创建)以编程方式创建 XIB 文件?我已经搜索了文档,但找不到任何东西。

【问题讨论】:

    标签: ios uiview interface-builder xib nib


    【解决方案1】:

    XIB 本质上是 XML 文件,我想如果你检查一些你会理解不同控件的格式,但这需要大量的手动阅读、编写和测试来完成所有视图。可能更好的计划是开始慢慢迁移到 IB 制作的视图。

    【讨论】:

    • 好吧,我不希望这里有几个 IB 创建的视图,而那里有几个硬编码的视图。我想保持一致性。我看过 XIB 中的 XML 代码(不知道它是 XML),但摆弄它看起来也不是很吸引人,因为在实际的界面构建器中布局所有内容肯定会更快。
    • 是的,我找不到任何工具可以帮助您自动完成。
    • 我将答案标记为已接受,因为似乎无法轻松地将 UIView 移植到 XIB。到今天为止,手动/超时迁移似乎是唯一的选择。
    【解决方案2】:

    是的,这是可能的;但是,问题是,您需要设置 xib 的所有基本控件和属性。除非您在模拟器或实际设备上执行了项目(这意味着对所有内容都进行硬编码),否则您将无法看到它的实际外观。

    您将使用 loadview 来初始化您的 xib。这里有一点:

    - (void)loadview{
          // set your view, screen size, and other properties of your xib
    }
    

    【讨论】:

    • 这是我已经做的。我的问题不是如何在不使用 XIB 的情况下创建视图。这是如何从 UIView 创建 XIB。
    • 对不起,我之前有点糊涂了。 XIB 是 XML 文件,对。因此,如果您对 XML 有深刻的理解,您实际上可以创建您的 XIB。但是,我还没有找到任何关于将 Objective-c 代码转换为 XML 的参考资料。如果没有,您需要将其编码为 XML;除非您有当前的 XML 文件,您可以在其中复制脚本并将其粘贴到新的 XIB 文件中。
    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2011-11-22
    • 2014-12-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    相关资源
    最近更新 更多