Swift: 지정된 글꼴 크기의 UIlabel 및 NSTextField 높이를 기준으로 함

7963 단어 Swift
UIlabel과 NSTextField 등 구성 요소의 높이를 지정하고 안쪽 문자의 글꼴 크기를 자동으로 조정하려면 글꼴 크기가 변할 때의 UIlabel과 NSTextField의 크기를 살펴보았다.

Playground를 사용하여 디스플레이 크기 시뮬레이션


UILabel


UIKit.playground
import UIKit

let label = UILabel(frame: CGRect.zero)
label.text = "あいうえお"

for i in (1...50) {
    label.font = UIFont.systemFont(ofSize: CGFloat(i))
    label.sizeToFit()
    print("\(i), \(label.frame.height)")
}

NSTextField


Cocoa.playground
import Cocoa

let label = NSTextField(labelWithString: "あいうえお")

for i in (1...50) {
    label.font = NSFont.systemFont(ofSize: CGFloat(i))
    label.sizeToFit()
    print("\(i), \(label.frame.height)")
}

결실


나는 글씨체 크기를 1~50까지 그렸다.
글꼴 크기
UIlabel의 Height
NSText Field Height
1
1.5
2.0
2
2.5
3.0
3
4.0
5.0
4
5.0
6.0
5
6.0
7.0
6
7.5
8.0
7
8.5
9.0
8
10.0
11.0
9
11.0
11.0
10
12.0
13.0
11
13.5
14.0
12
14.5
16.0
13
16.0
17.0
14
17.0
18.0
15
18.0
19.0
16
19.5
19.0
17
20.5
21.0
18
21.5
22.0
19
23.0
23.0
20
24.0
24.0
21
25.5
25.0
22
26.5
27.0
23
27.5
28.0
24
29.0
29.0
25
30.0
30.0
26
31.5
31.0
27
32.5
33.0
28
33.5
34.0
29
35.0
35.0
30
36.0
36.0
31
37.0
38.0
32
38.5
39.0
33
39.5
40.0
34
41.0
41.0
35
42.0
42.0
36
43.0
44.0
37
44.5
45.0
38
45.5
46.0
39
47.0
47.0
40
48.0
48.0
41
49.0
50.0
42
50.5
51.0
43
51.5
52.0
44
53.0
53.0
45
54.0
54.0
46
55.0
55.0
47
56.5
56.0
48
57.5
57.0
49
58.5
58.0
50
60.0
60.0

구성 요소 높이에 따라 글꼴 크기 지정하기


현재 높이의 글꼴 크기는 트렌드 선 공식에 따라 출력됩니다.
UILabel
func adjustUILabelFontSize() {
    let h = label.frame.height
    let fontSize: CGFloat = (2.0 * (h - 0.249) / 1.1934).rounded() / 2.0
    label.font = UIFont.systemFont(ofSize: fontSize)
    label.sizeToFit()
}
NSTextField
func adjustNSTextFieldFontSize() {
    let h = label.frame.height
    let fontSize: CGFloat = (2.0 * (h - 1.0278) / 1.177).rounded() / 2.0
    label.font = NSFont.systemFont(ofSize: fontSize)
    label.sizeToFit()
}

시험을 준비하다


UILabel.adjustsFontSizeToFitWidth어떤 글씨체는 너비가 적당한 크기로 조절할 수 있다.

좋은 웹페이지 즐겨찾기