shrimp-hamburger 2013-05-07 03:25 采纳率: 0%
浏览 4298

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

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

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

谢谢。

  • 写回答

1条回答

  • gaoXxxing 2013-05-07 06: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]];
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料