NSMutableAttributedString不能在特定范围的tableviewcell中工作

我已经跟着这个问题,但没有解决我的问题。

我在ViewController中有一个tableviewtableviewcell有一个标签。 我想用NSStrikethroughStyleAttributeName来设置。 如果我设置完整的string作为删除线它的作品, 如果我设置为部分它不起作用。

下面的代码为成功的结果

 let strOriginalPrice = "my price" let strdiscountedPrice = "discounted price" let strPrice = strOriginalPrice+" "+strdiscountedPrice let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attributeString.length)) cell.lblPrice.attributedText = attributeString 

下面的代码不工作

 let attributedDiscunt: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) attributedDiscunt.addAttribute(NSStrikethroughStyleAttributeName, value:2, range: NSMakeRange(0, strOriginalPrice.characters.count-1)) cell.lblPrice.attributedText = attributedDiscunt 

尝试这个,

  let strOriginalPrice = "my price" let strdiscountedPrice = "discounted price" let strPrice = strOriginalPrice+" "+strdiscountedPrice // let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) // attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attributeString.length)) let attributedDiscunt: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) attributedDiscunt.addAttribute(NSStrikethroughStyleAttributeName, value:2, range: NSMakeRange(0, strOriginalPrice.characters.count-1)) attributedDiscunt.addAttribute(NSBaselineOffsetAttributeName, value: 0, range: NSMakeRange(0, strOriginalPrice.characters.count-1)) cell.lblPrice.attributedText = attributedDiscunt