做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文件。

本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/577929,如需转载请自行联系原作者

Interface Builder nib2objc ibtool相关推荐

  1. Interface Builder 和UIController的联系

    1.Interface Builder(IB工具) xib和nib都是Interface Builder的图形界面设计文档,nib这个名字来自于NeXTSTEP系统,在NeXTSTEP被Apple收购 ...

  2. 报错-Unknown class in Interface Builder file

    2019独角兽企业重金招聘Python工程师标准>>> Xcode7报错: Unknown class in Interface Builder file. 2015-10-31 1 ...

  3. Xcode 6 Bug:Interface Builder文件中的未知类

    本文翻译自:Xcode 6 Bug: Unknown class in Interface Builder file I upgraded to Xcode 6 beta 4 and now my A ...

  4. 《iOS 9 开发指南》——第6章,第6.4节 Interface Builder中的故事板——Storyboarding...

    本节书摘来自异步社区<iOS 9 开发指南>一书中的第6章,第6.4节 Interface Builder中的故事板--Storyboarding,作者 管蕾,更多章节内容可以访问云栖社区 ...

  5. iOS学习笔记(1)--认识Xcode6.1的Interface Builder和常用快捷键

    Interface Builder基本界面 红色区域为工具栏(Tool Bar) 蓝色区域为导航区(Navigator Area) 绿色区域为编辑区(Editor Area) 黑色区域是调试区(Deb ...

  6. ***Xcode Interface Builder或Storyboard中可建立那两种连接?

    在Xcode Interface Builder或Storyboard中,可建立到输出口(IBOutlet)和操作(方法,IBAction)的连接. IBOutlet are for output C ...

  7. 【Xamarin挖墙脚系列:代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧(转)】...

    正愁如何选择构建项目中的视图呢,现在官方推荐画板 Storybord...但是好像 xib貌似更胜一筹.以前的老棒子总喜欢装吊,用代码写....用代码堆一个HTML页面不知道你们尝试过没有.等页面做出 ...

  8. 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧

     http://www.cocoachina.com/industry/20140102/7640.html 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作 ...

  9. 在Xcode以及Interface Builder下简单使用Cocoa

    下面写下建一个简单的程序,来说明如何使用macintosh的IDE 中的Xcode以及Interface Builder 做简单的Cocoa开发,为初学者学习 程序功能是把一个text里的数字复制到一 ...

最新文章

  1. 判断屏幕宽高比是否为16:9
  2. 健身也内卷?这届网友用 Python 掌握了做标准俯卧撑的秘诀
  3. 服务器如何开启远程控制,远程控制命令设置方法介绍
  4. 一文看懂Python(八)-----内置高阶函数用法总结
  5. 从0到1,了解NLP中的文本相似度 1
  6. 有道云笔记里几种我觉得比较有用的操作
  7. Appium1.9 之 Chromedriver安装方式
  8. 飞龙的计算机公开课推荐
  9. 【多元函数微分学】易错点总结
  10. 数学建模-SARS疫情对某些经济指标影响例题
  11. 51个赚钱最好的方法(史上最全攻略)
  12. hdwiki 编码规范
  13. JUC之striped64
  14. 一英寸芯片大小_Mac mini新款M1芯片详细参数配置规格 尺寸、重量等详细参数
  15. 医疗器械注册文件清单 2022.5.26
  16. 鞍部在哪里_富春江,富春江在哪里_富春江在哪个省_属于哪个省_就去旅游网
  17. 请确认计算机上的无线网络已启用,电脑显示已连接无线网络却上不了网
  18. Day 11-常用 Composition API_shallowReactive shallowRef
  19. 零基础学习UI设计需要多长时间
  20. 【2022 CSDN OpenHarmony应用学习挑战赛】

热门文章

  1. 63. Unique Paths II
  2. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换与反变换 | 序列绝对可和 与 存在傅里叶变换之间的关系 | 序列傅里叶变换性质 )
  3. 【数字信号处理】离散时间系统 ( 离散时间系统概念 | 线性时不变系统 LTI - Linear time-invariant )
  4. 【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )
  5. 【错误记录】Android 编译时技术报错 ( 注解处理器 process 方法多次调用问题 )
  6. 【鸿蒙 HarmonyOS】UI 布局 ( 相对布局 DependentLayout )
  7. 【Android 应用开发】Android游戏音效实现
  8. 数据库各个派系的起源和应用场景
  9. redis持久化的几种方式
  10. 微信公众号消息推送-模板消息发送