1

我在stackoverflow中看到了很多同样问题的问题,但没有一个解决方案对我有帮助。我使用以下代码将自定义图像设置为标签的背景:

labelBackgroundImageOriginal = [UIImage imageNamed:@"paper.jpg"];
labelBackgroundImageSize = myLabel.frame.size;    
UIGraphicsBeginImageContext(labelBackgroundImageSize);
[labelBackgroundImageOriginal drawInRect:CGRectMake(0, 0, labelBackgroundImageSize.width, labelBackgroundImageSize.height)];    
labelBackgroundImageNew = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
myLabel.backgroundColor = [UIColor colorWithPatternImage:labelBackgroundImageNew];

但是标签背景仍然是白色的,图像没有出现。然后我尝试了在不同问题下给出的各种解决方案,如下所示:

myLabel.backgroundColor = [UIColor clearColor];
myLabel.opaque = NO;

但他们似乎都没有工作。真的有办法摆脱这种情况吗?

4

1 回答 1

0

您是否尝试[UIColor colorWithPatternImage:]直接使用您的图像?这对我来说可以。

UILabel *test = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 300, 100)];
test.text = @"TEST";
test.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"anyPicture"]];
[self.view addSubview:test];

编辑:我试过你的代码,它工作正常!您是否检查过myLabel.frame.sizevalue 是否不为 null ?

于 2013-08-08T08:11:29.413 回答