有人说"在strokeWidth
"上设置负值,但它会使字体变薄。你有什么想法吗?
let attributes: [NSAttributedStringKey : Any] = [
.foregroundColor : UIColor.white,
.strokeColor : UIColor.black,
.strokeWidth : 2.0,
]
label.attributedText = NSAttributedString(string: "Sample", attributes:attributes)
答案 0 :(得分:2)
“有人说'在strokeWidth上设置减去值'” - 有人是Apple itself:
这是因为
NSStrokeWidthAttributeName
的值的符号被解释为模式;它指示是否要填充,描边或同时填充属性字符串。具体而言,零值仅显示填充,而正值仅显示笔划。负值允许显示填充和描边。
你确实设置了一个负数strokeWidth
但是在小尺寸时难以察觉有效(iOS 11默认字体大小是14pt)。结合像素平滑,这使得字体的外观看起来更薄。这是64pt时负strokeWidth
的结果:
let attributes: [NSAttributedStringKey : Any] = [
.foregroundColor : UIColor.white,
.strokeColor : UIColor.black,
.strokeWidth : -2,
.font: UIFont.systemFont(ofSize: 64)
]
let text = NSAttributedString(string: "Sample", attributes:attributes)
strokeWidth: -5
时的结果:
当你将strokeWidth
设置得更深,但看起来更“厚”,但在美学上并不令人愉悦。我会留给你决定应用程序的外观。