ios下直接给UIView设置背景图片的方法

         有时候需要直接给view设置北京图片,但是UIView对外的api中没有暴露相关接口。这个时候可以通过设置图层的content属性来实现。

        具体做法:

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];
UIImage *image = [[UIImage imageNamed:@"imageName"];
[myView.layer setContents:(__bridge id)image.CGImage];

        另外,CALayer的content属性可以设置一些配置项,其中常用的有:

        contentsGravity:        

kCAGravityCenter
kCAGravityTop
kCAGravityBottom
kCAGravityLeft
kCAGravityRight
kCAGravityTopLeft
kCAGravityTopRight
kCAGravityBottomLeft
kCAGravityBottomRight
kCAGravityResize
kCAGravityResizeAspect
kCAGravityResizeAspectFill

          目的是为了决定内容在图层的边界中怎么对齐,其中kCAGravityResizeAspect代表根据view等比例缩放。

contentsScale:

contentsScale这个属性需要在处理高质量的Retina屏图像时设置成合适的值

myView.layer.contentsScale = image.scale
         maskToBounds:

不显示超出边界的部分


参考链接:

https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值