如何在xcode之外修改.xib文件?

时间:2012-01-06 16:52:37

标签: iphone ios xcode cocoa-touch

我有一个.xib文件。我用textfile或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以及viewcontrollers完成了这项工作。我需要为.xibs解决这个问题。

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

我正在研究用c#编写的xib解码器,即使目前无法编辑xib文件,也可以显示它并查看它的外观。 xib解析器是开源的,是Cocoa的开源实现的转换,称为GNUstep。 解析器可在此处获取:https://github.com/smartmobili/CocoaBuilder