如何给View添加背景图片

燕扬
2023-12-01

from:@"http://xubenyang.me/54"

 

 

给大家一个问题,如何给view添加背景图片?也许在你的脑中一下子会又N多方法,但是这里想介绍的是一种使用“内置”的方法,可以省去大家不少的代码。

UIView有这样一个属性

@property(nonatomic,copy)            UIColor          *backgroundColor;            // default is nil

以想到UIColor,可能大家都只是想到到UIColor只能设置纯色,但是UIColor就有很多神奇的地方!

+ (UIColor *)colorWithPatternImage:(UIImage *)image;

这个方法就可以产生一个基于图片的颜色,更加精确地说是Pattern,这样之后就可以用这个颜色/pattern来填充view背景了。其工作原理就是pattern的工作原理(详情见这里),所以如果是你的图片和view的大小一样的话,那么图片就不会重复绘制成tiled情况。

 

 

*但是针对UIScrollView极其Subclass(如UITableView)这样设置背景可能就和你想要的效果不一样了,因为这个方法实际是使用pattern最为paint color,所以在scroll的时候会将pattern重复绘制像是tiled一样。。。Oops…所以如果是对TableView设置背景,最简单的还是在tableview下面add一个含有背景图片的imageview,在将tableview的backgroundcolor设置为clear。

PS:UIColor还有几个很好玩的方法,读者可以自己尝试:

+ (UIColor *)lightTextColor

+ (UIColor *)darkTextColor

+ (UIColor *)groupTableViewBackgroundColor

+ (UIColor *)viewFlipsideBackgroundColor

 类似资料: