Joe*_*ang 3 objective-c catextlayer swift
当我使用时UILabel,我将系统字体设置为:
label.font = UIFont.systemFontOfSize(18, weight: UIFontWeightMedium)
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用CATextLayer和我在线搜索,发现iOS 9的系统字体是San Francisco和字体名称.SFUIText-Medium,所以我尝试将字体名称设置为:
textLayer = CATextLayer()
textLayer.font = CTFontCreateWithName(".SFUIText-Medium", 18, nil)
Run Code Online (Sandbox Code Playgroud)
但是,设备屏幕上显示的字体UILabel与CATextLayer上面说明的不同.CATextLayer这里使用的字体名称是什么,这样我可以使用完全相同的字体显示UILabel?
由于iOS的7.0,UIFont并CTFont一直以"免费电话桥接的".这意味着您可以将a UIFont视为CTFont,反之亦然.从而:
let view = UIView(frame: CGRectMake(0, 0, 200, 100))
view.backgroundColor = UIColor.whiteColor()
let layer = CATextLayer()
layer.font = UIFont.systemFontOfSize(18, weight: UIFontWeightMedium)
layer.string = "Hello"
layer.frame = view.bounds
layer.foregroundColor = UIColor.blackColor().CGColor
view.layer.addSublayer(layer)
XCPlaygroundPage.currentPage.liveView = view
print(layer.font)
Run Code Online (Sandbox Code Playgroud)
结果:
Optional(<UICTFont: 0x7f904bf38960> font-family: ".SFUIText-Medium"; font-weight: normal; font-style: normal; font-size: 18.00pt)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2462 次 |
| 最近记录: |