iOS开发小笔记 | 如何给label设置背景图片?

实际开发中,我们往往会遇到下面这种label:

有红色背景图片的label

我尝试了下面几种方案:

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];

但是你又发现你的图片被裁剪了:

你只看到它:

却不知其实是它:

iOS开发小笔记 | 如何给label设置背景图片?_第1张图片

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;
iOS开发小笔记 | 如何给label设置背景图片?_第2张图片
social and social

你可能感兴趣的:(iOS开发小笔记 | 如何给label设置背景图片?)