Swift: strikethroughStyle For Label (Middle Delete Line For Label)
Swift: strikethroughStyle For Label (Middle Delete Line For Label)
如何为标签添加删除线样式。 UILabel 中数字的中间删除行。查看附件图片以供参考。
使用属性字符串
截图
代码
NSDictionary * attribtues = @{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle),
NSStrikethroughColorAttributeName:[UIColor redColor]};
NSAttributedString * attr = [[NSAttributedString alloc] initWithString:@"label" attributes:attribtues];
self.label.attributedText = attr;
在故事板中为 UILabel 添加中间删除行
点击故事板中的 uilabel,查看实用程序。 SelectAttributed
点击字体图标,打开字体面板。
Select您要更改的文字
Select中线(例:单身)
完成。
以编程方式使用以下代码
更喜欢使用扩展程序:
extension String {
func strikeThrough() -> NSAttributedString {
let attributeString = NSMutableAttributedString(string: self)
attributeString.addAttribute(NSAttributedStringKey.strikethroughStyle, value: NSUnderlineStyle.styleSingle.rawValue, range: NSMakeRange(0,attributeString.length))
return attributeString
}
}
并调用这个函数
myLabel.attributedText = "my string".strikeThrough()
结果是这样的。
来自@krunal 对 Swift4 的回答的更新函数
extension String {
func strikeThrough() -> NSAttributedString {
let attributeString = NSMutableAttributedString(string: self)
attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: NSUnderlineStyle.single.rawValue, range: NSMakeRange(0,attributeString.length))
return attributeString
}
}
和调用函数是一样的
yourLabel.attributedText = "yourString".strikeThrough()
如果想使用 UILabel 扩展
extension UILabel {
func strikeThroughText() {
let attributeString = NSMutableAttributedString(string: self.text ?? "")
attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: NSUnderlineStyle.single.rawValue, range: NSMakeRange(0,attributeString.length))
self.attributedText = attributeString
}
}
如何为标签添加删除线样式。 UILabel 中数字的中间删除行。查看附件图片以供参考。
使用属性字符串
截图
代码
NSDictionary * attribtues = @{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle),
NSStrikethroughColorAttributeName:[UIColor redColor]};
NSAttributedString * attr = [[NSAttributedString alloc] initWithString:@"label" attributes:attribtues];
self.label.attributedText = attr;
在故事板中为 UILabel 添加中间删除行
点击故事板中的 uilabel,查看实用程序。 Select
Attributed
点击字体图标,打开字体面板。
Select您要更改的文字
Select中线(例:单身)
完成。
以编程方式使用以下代码
更喜欢使用扩展程序:
extension String {
func strikeThrough() -> NSAttributedString {
let attributeString = NSMutableAttributedString(string: self)
attributeString.addAttribute(NSAttributedStringKey.strikethroughStyle, value: NSUnderlineStyle.styleSingle.rawValue, range: NSMakeRange(0,attributeString.length))
return attributeString
}
}
并调用这个函数
myLabel.attributedText = "my string".strikeThrough()
结果是这样的。
来自@krunal 对 Swift4 的回答的更新函数
extension String {
func strikeThrough() -> NSAttributedString {
let attributeString = NSMutableAttributedString(string: self)
attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: NSUnderlineStyle.single.rawValue, range: NSMakeRange(0,attributeString.length))
return attributeString
}
}
和调用函数是一样的
yourLabel.attributedText = "yourString".strikeThrough()
如果想使用 UILabel 扩展
extension UILabel {
func strikeThroughText() {
let attributeString = NSMutableAttributedString(string: self.text ?? "")
attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: NSUnderlineStyle.single.rawValue, range: NSMakeRange(0,attributeString.length))
self.attributedText = attributeString
}
}