2 u010025993 u010025993 于 2013.05.07 11:25 提问

对UILabel中的文本进行高亮设置

我想要高亮处理UILabel中的文字部分。给label使用了backgroundColor 。但是执行之后,标签中的空白部分也被高亮了,很难看。有没有办法只高亮文本部分,不影响UILabel的尺寸?

看效果图,label比文字多出来(居中对齐)
CSDN移动问答

谢谢。

1个回答

gaoXxxing
gaoXxxing   2013.05.07 14:02

用这段代码可以给text后面添加子视图:

CGSize size= [[label text] sizeWithFont:[UIFont systemFontOfSize:18.0]];
NSLog(@"%.1f | %.1f", size.width, size.height);
NSLog(@"%.1f | %.1f", label.frame.size.width, label.frame.size.height);

UIView *highlightView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
[highlightView setBackgroundColor:[UIColor greenColor]];
[self.view insertSubview:highlightView belowSubview:label];
[highlightView setCenter:label.center];
And don't forget: [label setBackgroundColor:[UIColor clearColor]];
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!