做iphone开发就需要接触其中的xib文件。Interface Builder(IB)是Mac OS X平台下用于设计和测试用户界面(GUI)的应用程序,可以很直观的设计图形界面。实际上Mac OS X下所有的用户界面元素都可以使用代码直接生成;但IB能够使开发者简单快捷的开发出符合Mac OS X human-interface guidelines的GUI。通常你只需要通过简单的拖拽(drag-n-drop)操作来构建GUI就可以了。
IB使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序。在需要的时候,Nib文件可以被快速地载入内存。
这里介绍一下ib相关的一点小技巧。
将XIB文件转换为Objective-C源程序
nib2objc是一个小巧的转换工具,可以将XIB文件自动转换为Objective-C的源代码文件。
通常,考虑到程序的效率时,才将XIB直接转换为源代码文件。但是这样一来,通过Interface Builder设定的实例变量与行为方法的接续也没有了,需要从新手写。但是,该工具的源代码是公开的,稍加修饰,就能完成大部分工作。
使用的时候,首先下载的工程代码并用XCode编译一下,会生成一个命令行程序文件 nib2objc。然后如下所示执行转换:
$ nib2objc testnib2objc.xib > testnib2objc.m
这样就可以转换成代码。
Ibtool是一个nib资源文件本地化的小工具:
1.从nib文件里面提取可以被本地化的字符串。 可以通过如下的命令在终端里面处理:
ibtool --generate-stringsfile MyNib.strings MyNib.nib
2.等翻译好了字符串以后,就需要通过ibtool去把字符串合并到.nib文件里面去。 具体的命令如下:
ibtool --strings-file MyNib.strings --write MyNewNib.nib MyNib.nib
其中MyNib.nib是你想修改的xib文件。