是否可以直接编辑 XIB 文件的 XML?

Posted

技术标签:

【中文标题】是否可以直接编辑 XIB 文件的 XML?【英文标题】:Is it possible to directly edit the XML of XIB files? 【发布时间】:2009-11-02 10:59:21 【问题描述】:

我尝试这样做,但 Interface Builder 拒绝打开生成的文件:

alt text http://img81.imageshack.us/img81/7194/screenshot20091102at252.png

“Interface Builder 无法确定 [文件名] 的类型”

【问题讨论】:

【参考方案1】:

回答你的问题(正如你在标题中所说的那样):是的。我使用 TextWrangler 进行了测试(移动了一个小部件),它就像一个魅力。

我怀疑,您在编辑文件时还更改了其他内容(编码、文件名)。您应该使用 xib 的副本再次尝试,并在原始和结果之间进行比较。

【讨论】:

我试图使用 FileMerge 来区分两个 XIB 文件。不幸的是,显然 FileMerge 并不将它们视为纯文本文件。它解释 XML 并将它们弄乱。也许这应该是一个单独的问题,但是:有没有办法让 FileMerge 正常工作(即实际上做一个纯文本差异)? AFAIK,FileMerge 是 os x diff 实用程序。而且它不适用于xib。 FileMerge 通过 ibtool 处理 XIB 文件以提供更统一的输出。这可以在 FileMerge 首选项中禁用,但不会在启动之间保存。识别差异很有用,但仅用于指导您在 Interface Builder 中的更改,而不是直接编辑 XML。【参考方案2】:

这是可能的。只是任务的复杂性正在接近用汇编程序编写 Web 应用程序的复杂性。

开玩笑。强烈不推荐。我认为这个 Xib 不是你的,界面生成器只是不允许你使用它。

【讨论】:

【参考方案3】:

虽然 XIB 文件的 XML 格式在某种程度上是为了便于人类阅读,但 XIB 文件应该绝不手动编辑。虽然文件可能看起来是可合并的,但对象图很复杂,除非在 Interface Builder 中进行编辑,否则无法维护。

即使它看起来有效,但这是不受支持的,并且可能会导致未来出现更复杂的问题。最好改为在 Interface Builder 上提交增强请求以提供您需要的功能,而不是尝试手动编辑 XML。

【讨论】:

以上是关于是否可以直接编辑 XIB 文件的 XML?的主要内容,如果未能解决你的问题,请参考以下文章

使用xib开发界面

在 iOS sdk 的某些 xib 文件中搜索文本

是否可以更改 xib 文件?

使用xib开发界面

xml文件用啥编辑

是否可以在 cocos2d 中使用 xib 文件