2015-12-09 50 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