xib Nib IB 可视化编程详解

简单的说,Xib就是拖控件编程,也可以说是可视化编程. 相对于代码,使用IB和xib文件来组织UI,可以省下大量代码和时间,从而得到更快的开发速度。 如果你曾经受到过微软家Visual Basic或者其他Visual系的可视化界面的荼毒与残害,因此怀疑Interface Builder的纯正血统和工作能力,建议可以看看这些资料以纠正三观: Jean-Marie Hullot的Interface Builder神话 以及 西装革履的青涩乔帮主在NeXT时亲手用IB构建应用 (需要FQ)。另外,不妨打开你的Mac上的Application文件夹中或者iPhone上Apple家的各种应用。你会惊奇地发现,IB远比你看到的要强大:小至计算器取色器这类小工具,大至iWork三件套,Aperture或Final Cut这样的专业级应用,无一不是使用IB来完成UI制作的。

其实IB和xib是从iOS SDK初次面世开始就是捆绑在开发者工具套装内的内容了,而到了Xcode 4之后更被直接集成到了Xcode中成为了IDE的一部分。xib设计的一大目的其实是为了良好的MVC:一般来说,单个的xib文件对应一个ViewController,而对于一些自定义的view,往往也会使用单个xib并从main bundle进行加载的方式来载入。IB帮助完成view的创建,布局和与file owner的关系映射等一些列工作。对于初学者来说,牢记xib的文件都是view的内容,有助于建立起较好的MVC的概念,从而在开发中避免或少走弯路。

之前,iOS编程是分为两部分的,一个是Xcode,另一个是 Interface Builder.后来Xcode把二者合为一起了.很多人对 xib nib ib 这三个不理解,只知道  xib,下面我简要介绍一下,

xib是指后缀,

Nib   是乔帮主NS时代带过去的,

IB  实际上也是xib

总结起来, xib  Nib IB 指的都是 Xib 拖控件.

下面我来详细介绍Xib的使用:

首先,创建一个Xib文件

然后点击Next,我们工程里面就有xib文件了.

然后,我们需要初始化Controller,并把它添加到window的根视图上去.

这里面初始化有两个参数,

initWithNibName :  这是xib的名字, 我们填xib工程名的前缀

bundle : 这个是包,我们可以填nil 也可以填 [NSBundle mainBundle]

bundle:nil  ===== bundle:[NSBundle mainBundle]

查API得知,这里面两个参数当都为nil的时候,系统会

  // 先找text View.xib

  // 再找text ViewController.xib

这个时候,我们可以进入Xib里面了,

我们可以看到右上有一排小图标.我介绍一下,各有什么用

从左往右

第一个,描述

第二个,查找

第三个,自定义

第四个,属性(优先显示自己的属性,后面显示父类的属性)

第五个,frame

第六个,建立关联.

下面,我们拖控件建立一个登录页面;

这个时候,我们会有三个问题,

第一,怎么给UIButton添加响应事件?

第二,怎么给控件加代理?

第三,怎么定义属性,实例变量?

下面我们先来看第一个问题,

第一,怎么给UIButton添加响应事件?

我们首先鼠标点到UIButton,然后按键盘上的Ctrl键,然后拖到.h文件上去,如下图

写个方法名,然后就会出现方法声明,和方法的空实现.

下面是第二个问题,

第二,怎么给控件加代理?

当我们鼠标点击在输入框上,然后右键鼠标

 

再然后指向file's Owner.

 

这样就完成了添加代理..然后我们在代码里面手写遵守某某代理协议,在手写实现代理方法就好了.

最后一个问题,

第三,怎么定义属性,实例变量?

我们先点击在控件上,然后按Ctrl,指向点h文件,如下图

然后取名,

结果如下

定义属性跟上面基本一样,如下

结果如下:

 

posted @ 2015-04-01 15:43  -j神-----  阅读(2050)  评论(0编辑  收藏  举报