我在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;
但它们似乎都没有起作用。实际上是否有办法解决这个问题?
答案 0 :(得分: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.size
值是否为空?