UIFont 표준 치수의 +Dynamic Type 조사 정보

8100 단어 SwiftiOS

공식 문서


거의 여기에 적혀있어요.
https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/

systemFont


글꼴 크기를 결정하는 참조, UIFont.시스템FontSize가 실제로 어떤 사이즈인지 신경 쓰여서 Simulator로 조사했습니다.

조사 방법


2017년 5월 25일 시각.
Simultator의 터미널
iOS 10.3
기본 설정
조사 코드는 다음과 같다.
import UIKit

class ViewController: UIViewController {
    let deviceName = "iPhone 7"
    override func viewDidLoad() {
        super.viewDidLoad()
        print("|\(deviceName)|\(UIFont.systemFontSize)|\(UIFont.smallSystemFontSize)|\(UIFont.labelFontSize)|\(UIFont.buttonFontSize)|")
    }
}

조사 결과


모델 이름
systemFontSize
smallSystemFontSize
labelFontSize
buttonFontSize
iPhone 5
14.0
12.0
17.0
18.0
iPhone 6s
14.0
12.0
17.0
18.0
iPhone 7
14.0
12.0
17.0
18.0
iPhone 7 Plus
14.0
12.0
17.0
18.0
iPhone SE
14.0
12.0
17.0
18.0
터미널에 따라 변화가 없다.
설정된 액세스 가능성에서 문자 크기를 변경해도 변경되지 않습니다.
이것을 따라가기 위해서는 다이나믹타입이 대응해야 한다.

DynamicType


화면에서 설정할 수 있는 문자의 크기를 설정할 수 있습니다.
label.font = UIFont.preferredFont(forTextStyle: .headline)
label.adjustsFontForContentSizeCategory = true
이렇게 처리하다.
4.adjustsFontForContentSizeCategory는 설정 변경을 감시하고 즉시 반영하는 설정이다.
not larger text
larger text


최소 1
보통 1~7
LargerText로 설정된 경우 1~12
초기 설정 4
기종에 따라서도 변화가 없다.
값 설정
title1
title2
title3
body
caption1
caption2
callout
footnote
headline
subheadline
1
25.0
19.0
17.0
14.0
11.0
11.0
13.0
12.0
14.0
12.0
2
26.0
20.0
18.0
15.0
11.0
11.0
14.0
12.0
15.0
13.0
3
27.0
21.0
19.0
16.0
11.0
11.0
15.0
12.0
16.0
14.0
4
28.0
22.0
20.0
17.0
12.0
11.0
16.0
13.0
17.0
15.0
5
30.0
24.0
22.0
19.0
14.0
13.0
18.0
15.0
19.0
17.0
6
32.0
26.0
24.0
21.0
16.0
15.0
20.0
17.0
21.0
19.0
7
34.0
28.0
26.0
23.0
18.0
17.0
22.0
19.0
23.0
21.0
8
34.0
28.0
26.0
28.0
18.0
17.0
22.0
19.0
23.0
21.0
9
34.0
28.0
26.0
33.0
18.0
17.0
22.0
19.0
23.0
21.0
10
34.0
28.0
26.0
40.0
18.0
17.0
22.0
19.0
23.0
21.0
11
34.0
28.0
26.0
47.0
18.0
17.0
22.0
19.0
23.0
21.0
12
34.0
28.0
26.0
53.0
18.0
17.0
22.0
19.0
23.0
21.0

조사 방법


유효성 검사 코드는 다음과 같습니다.
import UIKit

class ViewController: UIViewController {
    let name = "4"
    override func viewDidLoad() {
        super.viewDidLoad()
        let styles: [UIFontTextStyle] = [.title1, .title2, .title3, .body, .caption1, .caption2, .callout, .footnote, .headline, .subheadline]
        let sizes = styles.map { UIFont.preferredFont(forTextStyle: $0).pointSize }
        print("|\(name)|\(sizes.map{"\($0)"}.joined(separator: "|"))|")
    }
}

좋은 웹페이지 즐겨찾기