使用swift的不同字体大小的时间格式

时间:2018-01-11 12:04:56

标签: swift

想知道是否有人可以请求帮助。我正在创建一个能够显示时间的基本iOS应用,但是我无法为时间标签设置不同的字体大小。基本上我需要时间HH(小时):MM(分钟)不同大小的字体到SS(秒)。

我一直在查看归因文字,但我仍然无法得出一些结果。

亲切的问候。

1 个答案:

答案 0 :(得分:0)

您可以为NSMutableAttributedString

制作扩展程序
extension NSMutableAttributedString {
    @discardableResult func resize(_ text: String, _ size: CGFloat) -> NSMutableAttributedString {
        append(NSAttributedString(string: text, attributes: [NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: size)]))
        return self
    }
}

用法:

let span = NSMutableAttributedString()
span.resize("HH:", 16.0).resize("MM:", 14.0).resize("SS", 18.0)
label.attributedText = span

在你的情况下:

let date = Date()
let dateFormatter = DateFormatter()
let span = NSMutableAttributedString()
dateFormatter.dateFormat = "h:"
span.resize(dateFormatter.string(from: date), 16.0)
dateFormatter.dateFormat = "mm:"
span.resize(dateFormatter.string(from: date), 14.0)
dateFormatter.dateFormat = "ss"
span.resize(dateFormatter.string(from: date), 18.0)
timeLabel1.attributedText = span