iOS:从 UIView 创建 XIB
Posted
技术标签:
【中文标题】iOS:从 UIView 创建 XIB【英文标题】:iOS: create a XIB from a UIView 【发布时间】:2012-06-12 10:48:40 【问题描述】:我在旧项目中使用绝对定位在代码中布局了很多视图。这段代码真的很难维护。我想将代码移植到使用界面生成器,但我必须手动重新布置每个视图。
是否可以从现有的 UIView(以编程方式创建)以编程方式创建 XIB 文件?我已经搜索了文档,但找不到任何东西。
【问题讨论】:
【参考方案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 文件中。以上是关于iOS:从 UIView 创建 XIB的主要内容,如果未能解决你的问题,请参考以下文章