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

本文详细解析了UIImageView和UIButton的区别,包括使用场合、相同点与不同点,并深入探讨了iOS懒加载的概念、工作原理及其优势。此外,还提供了加载图片的两种方法和CGAffineTransform的相关区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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用法一致


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值