收缩uilabel背景以适应分配的空间

时间:2014-08-06 18:47:11

标签: ios objective-c uiimage xcode5 uilabel

要设置我的UILabel的背景,我使用

theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blah"]];

现在我的问题是背景图像实际上大于我的UILabel的大小。有没有一种简单的方法可以使背景缩小到UILabel的大小?

2 个答案:

答案 0 :(得分:2)

这是我最终想出来的方式

- (void)reziseLabelBackgound
{
    UIImage *rawImage = [UIImage imageNamed:@"blah"];
    CGSize bkgSize = self.myLabel.bounds.size;
    UIGraphicsBeginImageContext(bkgSize);
    [rawImage drawInRect:CGRectMake(0,0,bkgSize.width,bkgSize.height)];
    UIImage *bkgImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    self.myLabel.backgroundColor = [UIColor colorWithPatternImage:bkgImage];
}

答案 1 :(得分:1)

编辑 - 被误解的问题。

不,标签无法做到这一点。您可能需要使用透明标签,其下方的UIImageView与标签大小相同,contentMode设置为您需要的值。