gpt4 book ai didi

swift - 在swift 4中获取字体属性

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:53 26 4
gpt4 key购买 nike

我已将项目从 swift 3 迁移到 swift 4,但找不到有关如何从 UIFontDescriptor 获取字体属性的信息。这是在 swift 3 中完美运行的代码:

 @objc convenience init(myCoder aDecoder: NSCoder) {
if let fontDescriptor = aDecoder.decodeObject(forKey: "UIFontDescriptor") as? UIFontDescriptor {
if let fontAttribute = fontDescriptor.fontAttributes["NSCTFontUIUsageAttribute"] as? String {
var fontName = ""
switch fontAttribute {
case "CTFontRegularUsage":
fontName = Roboto.regular.rawValue
case "CTFontEmphasizedUsage", "CTFontBoldUsage":
fontName = Roboto.bold.rawValue
default:
fontName = Roboto.regular.rawValue
}
self.init(name: fontName, size: fontDescriptor.pointSize)!
}
else {
self.init(myCoder: aDecoder)
}
}
else {
self.init(myCoder: aDecoder)
}
}

但是在 swift 4 中:

if let fontAttribute = fontDescriptor.fontAttributes["NSCTFontUIUsageAttribute"] as? String

有一个错误:对成员“下标”的引用不明确。我有什么想法可以改变它吗?

谢谢!

最佳答案

let font: UIFont

let fontAttribute = UIFontDescriptor.AttributeName("NSCTFontUIUsageAttribute")

let fontUsageAttribute = font.fontDescriptor.fontAttributes[fontAttribute] as? String

关于swift - 在swift 4中获取字体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46081857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com