Ja5*_*man 28 iphone swift ios8
在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"
Run Code Online (Sandbox Code Playgroud)
除了之外,所有这些属性似乎都能正常工作NSForegroundColorAttributeName.此文字显得透明.这是一个Swift bug吗?
文本被放置在图像中UIScrollView.出现的文字:

Mar*_*n R 54
来自技术问答QA1531:
这是因为NSStrokeWidthAttributeName的值的符号被解释为模式; 它指示是否要填充,描边或同时填充属性字符串.具体而言,零值仅显示填充,而正值仅显示笔划.负值允许显示填充和描边.
所以你的设置
NSStrokeWidthAttributeName: 1.0
Run Code Online (Sandbox Code Playgroud)
字体仅被描边并且未被填充,从而产生"轮廓字体".你想要设置
NSStrokeWidthAttributeName: -1.0
Run Code Online (Sandbox Code Playgroud)
相反,以便字体被抚摸和填充.
如果NSStrokeWidthAttributeName在Xcode中按命令单击以跳转到定义,也可以找到该信息
:
NSNumber包含浮点值,以字体点大小的百分比表示,默认为0:无笔画; 单独使用中风,中风和填充为阴性(轮廓文本的典型值为3.0)
| 归档时间: |
|
| 查看次数: |
7900 次 |
| 最近记录: |