为了适应不同大小屏幕,一般给的背景图片都是@2x.png格式的。
我开始用的方法是
UIImage *imgMusic = [UIImage imageNamed:@"background@2x.png"];
self.backgroundColor = [UIColor colorWithPatternImage:img];
这样导致的后果是,背景图上很多毛须须。原因是colorWithPatternImage:这个方法只是把图片的color平铺上去,并不是利用2x格式图片的伸缩性。
正确的方法是,把背景图片用UIImageView贴上去。
UIImageView* bgImageView = [[UIImageView alloc]initWithFrame:frame]; bgImageView.image = [[UIImage imageNamed:@"music_background@2x.png"]stretchableImageWithLeftCapWidth:3 topCapHeight:3];//原图边框内的3个像素不拉伸,中间部分按需要拉伸,可以保持圆角不被破坏;对带圆角图片的拉伸!
[self addSubview:bgImageView];