2015-12-09 49 views
2

是否有方法通过UILabel添加一条简单线条。我有一个40像素高UILabel,只是想通过中间水平画一条黑线(20px)。有没有办法做到这一点,而不必创建一个图像,并将其设置为背景?在UILabel中绘制一条简单线条

+0

是的,你可以通过保持高度较小或以其他方式可以使图像与您可以用画线。 –

+0

如果标签包含文本,那么您的标签将会出现一些文字 –

+1

然后您可以使用属性字符串进行穿透。 –

回答

3

是的,有几种方法。例如,你可以加1点高度子视图标签:

let lineView = UIView(
     frame: CGRect(x: 0, 
      y: label.bounds.size.height/2, 
      width: label.bounds.size.width, 
      height: 1 
     ) 
    ) 
    lineView.backgroundColor = UIColor.blackColor(); 
    label.addSubview(lineView) 
2

您应该能够继承UILabel并覆盖drawRect方法。

2

可以使用的UILabel

高度= 1个宽度做=,因为你需要

,并使其背景色为黑色,并把它放在你40像素的UILabel。希望这会帮助你。

3

如果你的标签包含文本,那么你可以使用这样的标签透。

Objective-C的

NSString *newStringStrike = @"your text"; 
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:newStringStrike]; 
[attributeString addAttribute:NSStrikethroughStyleAttributeName 
         value:@1 
         range:NSMakeRange(0, [attributeString length])]; 

labelName.attributedText = attributeString; 
1

@Anil solanki's answer使用雨燕3.1:

let newStringStrike = "your text" 
let attributeString = NSMutableAttributedString(string: newStringStrike) 
attributedString.addAttribute(NSStrikethroughStyleAttributeName, value: 1, range: NSMakeRange(0, attributedString.length)) 

labelName.attributedText = attributedString