说明:UIView在ios开发中极其重要,下面对UIView的常用属性和方法做一简单总结
一.位置尺寸属性
1.frame:控件所在矩形框的位置及其尺寸,以父控件的左上角为坐标原点
控件的frame不可直接进行修改,必须先取出来,修改过后,在进行赋值
2.bunds:同样表示控件所在矩形框的位置与尺寸,但是以自己的左上角为坐标原点,因此其x与y值始终为0
3.center:控件中心的位置,以父控件的左上角为原点
总结:frame与center可设置控件的位置
frame与bounds可设置控件的尺寸
center相对于frame设置控件位置更加方便
二.标记属性
tag:用于给该控件设置标记值,当有多个控件时可通过其tag值单独进行设置
三.形变属性
transform:这是UIView的一个比较有意思的属性,配合动画属性,会做出很多有趣的界面。UIView的transform属性就是一个CGAffineTransform类型的数据,默认值为CGAffineTransformIdentity,用于控制控件的缩放,旋转,及其3D旋转(用到较少,笔者也不了解,下面不做解释)
下面介绍常用的方法:
控制缩放的方法:
CGAffineTransformMakeScale相对于UIView的初始状态进行缩放变换
CGAffineTransformScale相对于UIView的当前状态进行缩放变换
控制旋转的方法:
CGAffineTransformMakeRotate相对于UIView的初始状态进行旋转变换
CGAffineTransformRotate相对于UIView的当前状态进行旋转变换
控制缩放与旋转的方法很像,很方便记忆,学习OC的过程中会发现,很多诸如此类的例子
四.动画
动画在ios中很方便,使用起来很轻松,个人觉得这也是ios软件受欢迎的一个原因,会给用户良好的体验
UIView的动画并不能完全体现ios动画的优势,不过还是很不错。
下面开始介绍:
首先是UIView封装的简单的动画效果:
[UIView beginAnimations:nil context:nil];
// 设置动画持续时间
[UIView setAnimationDuration:.3];
// 需要动画的代码段
[UIView commitAnimations];
效果就是简单的减慢或加快了运动的时间。
另外UIView封装了三个块动画方法:
[UIView animateWithDuration:animations:]
[UIView animateWithDuration:animations:completion:]
[UIView animateWithDuration: delay: options: animations: completion:]
这些方法具体怎么实现,怎么用在此不做赘述,实验一两次即可知道,在此说明下对比beginAnimations动画的方式,块动画具有的几点优势:
1.可以在动画完成时做一些其他的任务
2.可以设置动画延迟及动画效果选项
3.块动画支持嵌套
注:以上皆为个人理解,如有错误,请留言指正,万分感谢。