UIFontの標準サイズを調べた + Dynamic Typeについて
公式ドキュメント
基本ここに書いてある
https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/
systemFont
フォントサイズを決める参考に、UIFont.systemFontSizeが実際どんなサイズか気になったので、Simulatorで調査しました。
調査方法
2017/5/25時点
Simulatorの各端末
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に対応させる必要があります。
DynamicType
設定画面で設定できる文字サイズに対応させることができます。
label.font = UIFont.preferredFont(forTextStyle: .headline)
label.adjustsFontForContentSizeCategory = true
のようにして対応させます。
.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: "|"))|")
}
}
Author And Source
この問題について(UIFontの標準サイズを調べた + Dynamic Typeについて), 我々は、より多くの情報をここで見つけました https://qiita.com/_ha1f/items/b640942b35d6cfc4750f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .