5

を使用するときはUILabel、システム フォントを次のように設定します。

label.font = UIFont.systemFontOfSize(18, weight: UIFontWeightMedium)

CATextLayer、私は使用しようとして、オンラインで検索したところ、iOS 9 のシステム フォントは でSan Franciscoあり、フォント名は.SFUIText-Mediumであることがわかったので、フォント名を次のように設定しようとします。

textLayer = CATextLayer() 
textLayer.font = CTFontCreateWithName(".SFUIText-Medium", 18, nil)

ただし、デバイス画面に表示されるフォントは、上記で説明したUILabel&とは異なります。とまったく同じフォントを表示できるように、ここCATextLayerで使用する正しいフォント名は何ですか?CATextLayerUILabel

4

1 に答える 1

7

iOS 7.0 から、UIFontCTFontフリーダイヤル」になりました。UIFontこれは、 aを として扱うことができ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)

結果:

スクリーンショット

Optional(<UICTFont: 0x7f904bf38960> font-family: ".SFUIText-Medium"; font-weight: normal; font-style: normal; font-size: 18.00pt)
于 2016-02-18T03:12:06.280 に答える