问题描述
我正在尝试以编程方式创建一个具有 NSFont.TextStyle.headline
字体样式的 NSTextField。也可以从故事板的 font
下拉菜单中设置此字体。
但是,当我执行以下操作时:
let attributes: [NSAttributedString.Key : Any] = [NSAttributedString.Key.font : NSFont.TextStyle.headline]
let attributedString = NSAttributedString(string: product.url,attributes: attributes)
let textLabel = NSTextField(labelWithAttributedString: attributedString)
我的应用程序崩溃并出现以下错误:
-[__NSCFConstantString pointSize]: unrecognized selector sent to instance 0x7fff8064f918
解决方法
我们需要获取与文本样式相关联的对应字体。
将这些常量传递给 preferredFont(forTextStyle:options:) 或 preferredFontDescriptor(forTextStyle:options:) 以检索相应的字体或字体描述符。
因此:
let attributes: [NSAttributedString.Key : Any] = [NSAttributedString.Key.font : NSFont.preferredFont(forTextStyle: NSFont.TextStyle.headline,options: [:])]