您的位置:首页 > 产品设计 > UI/UE

程序猿之路-----学习MJ视频总结1---UIImageView和UIButton的区别 、iOS懒加载

2015-05-27 00:27 477 查看
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以及CGAffineTransformMakeScale

CGAffineTransformScale用法一致
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息