NSStrokeWidthAttributeName

NSStrokeWidthAttributeName

viewDidLoad中,我具有类似以下内容的功能,可将文本属性添加到UITextField中:

let textAttributes = [
    NSForegroundColorAttributeName: UIColor.whiteColor(),
    NSStrokeColorAttributeName: UIColor.blackColor(),
    NSFontAttributeName: UIFont(name: "HelveticaNeue-CondensedBlack", size: 40)!,
    NSStrokeWidthAttributeName: 1.0
]

self.textField.delegate = self
self.textField.defaultTextAttributes = textAttributes
self.textField.text = "Top text field"

除了NSForegroundColorAttributeName以外,所有这些属性似乎都能正常工作。此文本显示为透明。这是Swift的错误吗?

文本以UIScrollView放置在图像上。出现的文字:

最佳答案

Technical Q&A QA1531:



因此,根据您的设置

NSStrokeWidthAttributeName: 1.0

字体仅被描边而不填充,从而导致“轮廓字体”。您需要设置
NSStrokeWidthAttributeName: -1.0

而是抚摸和填充字体。

您也可以在命令上单击鼠标右键,找到该信息
Xcode中的NSStrokeWidthAttributeName跳转到定义:

08-18 00:31