我尝试对标签实现strikethroughStyle。我将以下代码用于一个标签。但是我想为这两个不同的标签画一条线,如图所示。 (我将stackview
用于这些标签)
谢谢。
let attributedString2 = NSMutableAttributedString(string: self.productDetailView.productOldLastPriceLabel.text ?? "")
attributedString2.addAttribute(NSAttributedString.Key.strikethroughStyle, value: 2, range: NSMakeRange(0, attributedString2.length))
self.productDetailView.productOldLastPriceLabel.attributedText = attributedString2
答案 0 :(得分:2)
使用以下代码来管理具有不同字体大小的文本的删除线。您可以根据需要修改范围
let str1 = "16230"
let str2 = "63455333"
let dateText = NSMutableAttributedString.init(string: "\(str1)\(str2)")
dateText.setAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 34, weight: UIFont.Weight.bold),
NSAttributedString.Key.foregroundColor: UIColor.black, NSAttributedString.Key.strikethroughStyle: 2],
range: NSMakeRange(0, str1.count))
dateText.setAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 34, weight: UIFont.Weight.thin),
NSAttributedString.Key.foregroundColor: UIColor.black, NSAttributedString.Key.strikethroughStyle: 1],
range: NSMakeRange(str1.count,str2.count))
// set the attributed string to the UILabel object
deadline_lbl.attributedText = dateText
答案 1 :(得分:0)
您只能使用一个标签来写所有文本,而不是两个附加的文本。并为其部分使用不同的字体,并对所有文本使用strikethroughStyle。
This link可以帮助您做到这一点