UI基本控件和自定义视图
UILabel
常用属性:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235801704-1735178026.png)
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235843970-280671864.png)
UITextField
常用属性:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235831798-1312324038.png)
输入控制属性:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235914501-1937612959.png)
外观控制属性:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235930314-1488964091.png)
输入框让键盘回收的方法:
1、通过协议
(1)让AppDelegate成为输入框的代理对象 ,让TA去执行事件(AppDelegate接受输入框的协议)
(2)接受了协议就要执行键盘回收的方法
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160216235946439-56762533.png)
(3)建立关系:
如:textField.delegate = self;(self指AppDelegate)
2、通过Tag值
(1)创建一个按钮添加触发事件,让Tag值的键盘回收
(2)按钮触发的事件方法如:通过Tag值返回的是View,要强制转换为UITextField类型的
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000022017-767289320.png)
3、设置属性
(1)只需要把输入框设置成为属性
(2)创建一个按钮添加触发事件,回收键盘
(3)按钮触发的事件方法如:
[self.textField resignFirstResponder];
UIButton
1、UIButton侧重于交互,响应事件
2、创建UIButton使用类方法
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000109986-1983889440.png)
如:(system与custom的区别)
(1)如果button样式是system,那么不给定标题颜色,也能看见标题,默认蓝色
(2)如果button的样式是custom,那么除了给定标题内容之外,还需要给定标题颜色
(3)设置前景图片要用custom类型,使用custom样式,如果图片大小大于button的大小,那么图片会被压缩到与button等大,如果图片大小小于button的大小,那么保留图片大小,如果用systom类型会看不到图片
(4)设置背景图片,不论使用custom还是system,图片大于或者小于button大小,都会显示的与button等大
(5)点击时如果设置了图片,不出现闪烁的效果如:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000133204-751426859.png)
3、button的勾选状态的显示
(1)创建一个按钮
(2)分别设置在普通状态下和选中状态下显示的背景图片
普通状态:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000411282-2002466117.png)
选中状态:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000425657-1736819125.png)
(3)为按钮添加事件让他可以在每点击一下都改变一个状态如:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000457423-1598491010.png)
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000520204-800642567.png)
4、UIButton的外观控制属性
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000618079-2082983797.png)
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000627001-1722473211.png)
5、UIButton的添加事件的方法
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000649548-599911941.png)
UIImage
1、这是一个图片控件,不能直接显示,需要借助别的容器,比如button的前景或者背景图还有可以放在UIImageView上
2、获取某张图片对象如:
1、根据图片的名字
UIImage *image = [UIImage imageNamed:@“”];
2、根据路径
NSString *path = [[NSBundle mainBundle] pathForResource:@“图片名字” ofType:@“图片类型如:jpg”];
UIImage *image = [UIImage imageWithContentsOfFile:path];
UIImageView
1、存储指定图片
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
2、动态图
(1)先把图片放在
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000723392-103820133.png)
(2)创建一个可变数组储存图片
(3)循环得到图片,并且把图片存进数组
(4)制定做动画的所有图片
(5)指定动画时间,动画重复次数
(6)开启动画
(7)添加imageView到视图上
属性:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217000750720-2065774715.png)
自定义视图
优点:可以自己封装视图,降低开发成本,提高开发效率
特点:可复用,可移植,精炼(高内聚,低耦合)
如:把Label和textField放在一个视图当中,为了方便操作,可以把用到的控件设置为属性,方便外界调用,如创建一个自定义视图是LTView
步骤:
1、明确该视图内部有什么控件,并且将所有控件声明成属性
2、重写 initWithFrame方法,在里面创建子视图,并且添加子视图,这个里面传入的参数frame是LTView的位置和大小,在重写的方法里面添加的label和textField是LTView的子视图。代码如下:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217001152470-1812569046.png)
3、为LTView添加方法,为里面的label和textField添加属性,如:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160217001216673-779553441.png)
4、哪个类要用就引入LTView的头文件,记住:视图值负责展示,视图控制器负责执行事件。
拓展:如果外界要连续用到多个LTView,可以把里面不同的数据放到一个数组当中,然后用for循环添加LTView对象