swift 关于背景图片的拉伸与平铺

29 篇文章 1 订阅
27 篇文章 0 订阅

在ios开发中很多的地方都会需要我们添加背景图片,下面是添加背景图片的方法:

一般的情况下我们往往是通过backgroundImage属性来设置背景图片,但是在有的View中没有backgroundImage这个属性,这时候我们可以通过backgroundColor这个属性来添加背景图,具体方法如下:

例如:

reusableViews.backgroundColor = UIColor(patternImage: UIImage(named:"bg")!)
但是这种方法如果图片大小不够则会根据背景页面的大小进行平铺,无法将小图片进行拉伸。

使用以下的方法可以对图片进行拉伸:

方法一: 在layer层改变contents

例如:

reusableViews.layer.contents = UIImage(named: "bg")?.CGImage

方法二:对图片进行重绘  

例如:

let image = UIImage(named: "bg")
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0.1);
image?.drawInRect(reusableViews.bounds)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
reusableViews.backgroundColor = UIColor(patternImage: newImage)
对于这种方法来说如果只是简单的小部分使用还好,对内存没有什么影响,但如果要大量的去使用的话就需要考虑到对内存的消耗了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值