【极客班】iOS开发实战笔记——Button

首先提到了界面与代码分离的思想,让我不禁想起初中的时候微机课教的Front Page,我们当时学的是图像化的制作,几个简单的效果,这时候老师点开源代码让我们看,我们当时的反应就是wow,老师说高手做网页是直接敲代码的——这就是我对程序员的第一印象。

确实很高大上啊,而且一定很省资源,毕竟不需要用一个纽带把界面和代码连接,然而,它有两个坏处:一是不够直观,眼睛看代码都能看瞎了;再就是调整起来太麻烦。

所以乔老爷子推出了interface builder(简称IB)用来建立这个纽带,虽然会付出代价,但是值得。

那么,代码和界面是如何相互联系的呢?

“实例化”的过程:

              开发时                        “实例化”            运行时

代码:     类                              ===>              类实例

界面:     模板(xib)               ===>              界面对象

下面来讲outlet的概念。

概念:简而言之,outlet是一个带有ib outlet标记的变量。outlet connection 是在nib对象创建之后通过nib里的定义,在runtime的时候把reference存到outlet里,把它们关联起来的一个机制。这个关联建立起来之后,outlet就是这个对象的一个reference outlet了。

然后开始这个button的应用,和上一节课一样先把东西(Lable、Bottom等)拖到界面里,然后用右键拖动/左键+control拖动/右键点选来找到interface关联代码。

貌似以后熟练了,需要一下子把接口都列出来的时候,可以直接在代码区敲出interface,然后从右往左拖~

tips:UI主键一般用weak 引用,因为只要是它在界面显示,在view层次上一定有一个对它的引用,不需要在property上强(strong)引用了。除非需要让它的动态出现或溢出(这句话慢慢理解)。

这里还有一个需要注意的地方,那就是如果添加错误需要删除代码,务必把连接关系去掉,否则会crash。


由于代码的作业,也顺便研究了下代码创建UIButton,列出几个常用的:

//*创建一个圆角的名为delButton的按钮

UIButton *delButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

//*给定button在view上的位置

button1.frame = CGRectMake(20, 20, 280, 40);

//button背景色

button1.backgroundColor = [UIColor clearColor];

//设置button填充图片

//[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];

//设置button标题

[button1 setTitle:@"点击" forState:UIControlStateNormal];

//*添加button到视图

[self.view addSubview:button];

//*响应“delete”事件

[delButton addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];

你可能感兴趣的:(【极客班】iOS开发实战笔记——Button)