iOS开发小笔记 | 如何给label设置背景图片?
2017-09-12 本文已影响366人
无夜之星辰
实际开发中,我们往往会遇到下面这种label:
![](https://img.haomeiwen.com/i1692043/506617216ed78c35.png)
我尝试了下面几种方案:
1.设置layer的backing image
label.layer.contents = (__bridge id _Nullable)([UIImage imageNamed:@"7"].CGImage);
然而很不幸,这招对label的layer无效。
2.然后你百度,发现可以通过设置背景颜色来设置背景图片
UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"6.jpg"]];
[label setBackgroundColor:color];
但是你又发现你的图片被裁剪了:
你只看到它:
![](https://img.haomeiwen.com/i1692043/23aa5df7fc10e778.png)
却不知其实是它:
![](https://img.haomeiwen.com/i1692043/bc60faa1ba98273a.jpg)
3.你很绝望,祭出大招:在imageView上放一个label
这招挺实在的,我也无话可说。
4.还有一种做法
用button
[button setBackgroundImage:[UIImage imageNamed:@"7"] forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button setTitle:@"6" forState:UIControlStateNormal];
button.userInteractionEnabled = NO;
![](https://img.haomeiwen.com/i1692043/fbb03a346803dbd8.jpg)