缩小 uilabel 背景以适应分配的空间
Posted
技术标签:
【中文标题】缩小 uilabel 背景以适应分配的空间【英文标题】:shrink uilabel background to fit allotted space 【发布时间】:2014-08-06 18:47:10 【问题描述】:要设置我的 UILabel 的背景,我使用
theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blah"]];
现在我的问题是背景图像实际上大于我的 UILabel 的大小。有没有简单的方法让背景缩小到UILabel的大小?
【问题讨论】:
【参考方案1】:这就是我最终弄明白的方法
- (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];
【讨论】:
啊,我只是在写如何在矩形中绘制图像。很好的收获。【参考方案2】:编辑 - 被误解的问题。
不,标签无法做到这一点。您可能需要使用透明标签,其下方有一个 UIImageView,其大小与标签相同,并将 contentMode
设置为您需要的值。
【讨论】:
以上是关于缩小 uilabel 背景以适应分配的空间的主要内容,如果未能解决你的问题,请参考以下文章
自定义 uitableViewcell 内部:UILabel 背景超出文本长度(以编程方式)