UIImageView和UIButton的区别:
1>使用场合
* UIImageView:如果仅仅是显示图片,不需要监听图片的点击
* UIButton:既要显示图片,又要监听图片的点击
2>相同:能显示图片
3>不同点:
*UIButton能处理点击事件,UIImageView不能处理点击事件
*UIButton既能显示图片,又能显示文字,因为按钮自带两个属性:UIImageView 和 titleLabel
*UIButton能同时显示两张图片(background、image)
*UIButton继承自UIControl,因此默认就能处理事件
*UIImageView继承自UIView,因为默认就不能处理事件
iOS懒加载:
将属性放在get方法中初始化的方法,称为"懒加载",又称为"延迟加载"工作原理:
在程序启动时不需要加载,只有当运行时用到才加载
好处:
减少程序启动过程中内存的消耗
举例:
@property (nonatomic, strong) NSArray *imageList;
//懒加载imageList
-(NSArray*)imageList
{
//从未初始化,才调用,不然直接返回
if(_imageList == nil)
{
注意:不能写成self.imageList 会造成死循环
}return _imageList;
}
加载图片:
1.有缓存(传入文件名),一般用于加载小图片
[UIImage imageNamed:图片名]
2.无缓存(传入文件的全路径),一般用于加载大图片
1>获取资源全路径
NSString *path = [NSBundle mainBundle] pathForResource:@"imageData.plist",ofType:nil];
2>加载资源
[NSArray arrayWithContensOfFile:path];
CGAffineTransformMakeTranslation和CGAffineTransformTranslate的区别:
前者会创建一个全新的transform,后者会在原来的transform属性基础上进行改变,同理CGAffineTransformMakeRotation和 CGAffineTransformRotate以及CGAffineTransformMakeScaleCGAffineTransformScale用法一致