Swift:标签的删除线样式(标签的中间删除线)
Posted
技术标签:
【中文标题】Swift:标签的删除线样式(标签的中间删除线)【英文标题】:Swift: strikethroughStyle For Label (Middle Delete Line For Label) 【发布时间】:2016-02-22 11:01:46 【问题描述】:如何为标签添加删除线样式。 UILabel 中数字的中间删除行。检查附件图片以供参考。
【问题讨论】:
你的意思是“删除线”吗? 【参考方案1】:使用属性字符串
截图
代码
NSDictionary * attribtues = @NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle),
NSStrikethroughColorAttributeName:[UIColor redColor];
NSAttributedString * attr = [[NSAttributedString alloc] initWithString:@"label" attributes:attribtues];
self.label.attributedText = attr;
【讨论】:
可以在故事板中做到这一点吗? 你有静态文本标签吗?我只是拖一个插座,然后在viewDidLoad
中设置?
你不能在 storyborad 中做到这一点,你必须通过代码做到这一点【参考方案2】:
来自@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()
【讨论】:
【参考方案3】:以编程方式使用下面的代码
更喜欢使用扩展:
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()
结果看起来像这样。
【讨论】:
【参考方案4】:如果想使用 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
【讨论】:
【参考方案5】:在情节提要中为 UILabel 添加中间删除行
在情节提要中点击 uilabel,查看实用程序。选择Attributed
点击字体图标,打开字体面板。
选择要更改的文本
选择中间线(例如:Single)
已完成。
【讨论】:
在我的标签中不起作用,响应来自 api 响应来自 api 应该以编程方式设置(Leo 的回答)以上是关于Swift:标签的删除线样式(标签的中间删除线)的主要内容,如果未能解决你的问题,请参考以下文章
HTMLHTML 标签 ③ ( 文本格式化标签 | 加粗 | 斜体 | 下划线 | 删除线 | 标签属性 | 图像标签 | 图像标签属性 )