概要
こんにちは。亀山です。今日は小ネタです。iOS で端末の文字サイズ設定 Dynamic Type に追従する方法として、UIFont の生成時や Storyboard でフォントサイズを指定せずにスタイルを指定することができます。 なるべく OS の見た目と合わせたいものです。そこで UITableView のセルのデフォルトの文字のスタイルを調べました。
結果
ラベル | スタイル |
---|---|
textLabel | body |
detailTextLabel | caption1 |
スクリーンショット
小さい時 | 大きい時 |
---|---|
確認方法
UITableViewCell のスタイルを .subtitle にして調べました。
class ViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 10 } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = UITableViewCell(style: .subtitle, reuseIdentifier: "Cell") cell.textLabel?.text = "Hello \(indexPath.row)" cell.detailTextLabel?.text = "Subtitle \(indexPath.row)" cell.accessoryType = .checkmark return cell } }
ブレークポイントで止めて UILabel.font の font-family を確認しています。
▿ Optional<UIFont> - some : <UICTFont: 0x7ff06a7119f0> font-family: "UICTFontTextStyleBody"; font-weight: normal; font-style: normal; font-size: 17.00pt ▿ Optional<UIFont> - some : <UICTFont: 0x7fbdf1f06d80> font-family: "UICTFontTextStyleCaption1"; font-weight: normal; font-style: normal; font-size: 12.00pt