【问题标题】:How do I modify a .xib file outside of xcode?如何在 xcode 之外修改 .xib 文件?
【发布时间】:2013-06-02 21:39:27
【问题描述】:

我有一个 .xib 文件。我用文本文件或 Dashcode 或其他任何方式打开它。

假设它上面有 4 个按钮。都一样,只是标题不同。

我的目标是在 xcode 之外自动更改颜色、字体和背景图像,然后将文件导入 xcode。

但是,这些东西是由一个参考号表示的,我似乎无法在我的项目文件夹中找到将它与实际图像、颜色或字体相关联的任何位置。

<reference key="IBUINormalBackgroundImage" ref="650551563"/>  <!-- Button Background -->

所以按钮看起来像这样

`<!-- Button 1 -->
<object class="IBUIButton" id="580622739">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 124}, {280, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="810145050"/>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<reference key="IBUIFont" ref="881065587"/>           <!-- Button Font Type -->
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Facebook</string>     <!-- Button Name -->
<reference key="IBUIHighlightedTitleColor" ref="587412318"/>
<reference key="IBUINormalTitleColor" ref="523599070"/>       <!-- Button Font Color -->
<reference key="IBUINormalTitleShadowColor" ref="457053782"/>
<reference key="IBUINormalBackgroundImage" ref="650551563"/>  <!-- Button Background -->
</object>

`

编辑:基于一些回复。我现在能做的就是将一个 xib 拖放到 xcode 中。但是当我制作一个新应用程序时,我想使用现有的 xib 但颜色不同。我将使用 php 自动创建此代码文件。然后再次拖放。我已经为我所有的 .h 和 .m 以及视图控制器做了这个。我需要为 .xibs 解决这个问题。

【问题讨论】:

  • 我认为在没有 XCode 的 Interface Builder 的情况下编辑 .xib 文件不是一个好主意。如果您不想使用 XCode 来构建您的视图,只需在没有 .xibs 的情况下以编程方式进行。
  • 哦。嗯,我很懒,不只是在开玩笑。真的,我对 xcode 和 ios 还是有点陌生​​。所以我将不得不学习如何以编程方式创建它。我会打开我的 google-fu。但我想通过使用文本编辑器查看文件,我会查看代码的编程部分。因此能够对其进行修改。就像我为安卓和黑莓做的那样。
  • 实际上,我认为学习如何以编程方式创建它比学习如何修改现有文件更容易。由于.xib 只是一个XML 格式的视图的数据文件,没有cmets,而且任何错字都会导致应用程序崩溃而没有任何调试信息。顺便说一句,欢迎来到 iOS 世界! :p

标签: iphone ios xcode cocoa-touch


【解决方案1】:

xib 文件包含 IB 在 XCode 中生成的 XML。如果您编辑此 XML,则无法保证您的更改不会在下次写入文件时被 IB 清除。

但是,如果我理解正确,您会尝试查看 xib 内容以更好地了解如何以编程方式创建 UI。以编程方式生成的 UI不是通过编写 xib 文件来完成的。您可能会得到关于可以在 IB 中配置哪些参数的提示,但是如果您正在尝试这样做,那么 xib 中有很多内容会分散注意力。

【讨论】:

  • "以编程方式生成的 UI 是通过编写 xib 文件完成的。"好像你写错了这个。我希望您不要断言在代码中生成的接口正在运行时生成 xib 文件。
  • 糟糕。缺少一个关键词“NOT”。我会解决的。
【解决方案2】:

以前在 Xcode 3.2 和更早的版本中,Interface Builder 应用程序在 Xcode 之外运行......但现在它是 Xcode 的一部分。您现在也可以google 使用 Interface Builder...但我认为苹果不允许您单独拥有 Interface Builder....

一般链接:http://guides.macrumors.com/Interface_Builder

【讨论】:

    【解决方案3】:

    我正在开发一个用 c# 编写的 xib 解码器,即使目前无法编辑 xib 文件,也可以显示它并查看它的外观。 xib 解析器是开源的,是 Cocoa 开源实现的翻译,称为 GNUstep。 解析器在这里可用:https://github.com/smartmobili/CocoaBuilder

    【讨论】:

      猜你喜欢
      • 2012-10-25
      • 2011-07-13
      • 2012-10-11
      • 1970-01-01
      • 2023-04-01
      • 2013-10-31
      • 1970-01-01
      • 2011-11-05
      • 2018-01-06
      相关资源
      最近更新 更多