0
点赞
收藏
分享

微信扫一扫

iOS - 设置图片为背景色,且拉伸到指定大小


要设置图片背景色用这个方法:

self.view.backgroundColor = [UIColor colorWithPatternImage:lastImage];

但是这样的话图片是平铺到指定区域的,并没有进行拉伸。

为了实现平铺这里提供两种方法:

1.从layer层入手,改变contents:

self.view.layer.contents = (id)[UIImage imageNamed:@"1.png"].CGImage;

2.重绘图片

UIImage *image = [UIImage imageNamed:@"1.png"];  UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.f);
[image drawInRect:self.view.bounds];
UIImage *lastImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:lastImage];

看上去应该很眼熟吧,只是平时很少用这种方法来重绘控件。两者的区别无非在于对内存的损耗上面,如果简单使用的话影响不大,要是很多地方用的话就需要深入研究对内存的损耗了。


举报

相关推荐

0 条评论