問題
設定 > 一般 > アクセシビリティ > さらに大きな文字 でアプリのデフォルトフォント設定を変更しフォントサイズを変更できますが、さらに大きな文字をonにして文字サイズを大きくした際にレイアウトが崩れてしまいます。
その為、extraExtraExtraLargeの文字サイズが選択されている場合extraExtraExtraLargeとして表示をしたいと考えています。
現状
traitCollection.preferredContentSizeCategoryはget only propertyで直接値を代入することができません。
現状は下記のコードのように実装を行なっているのですが、adjustsFontForContentSizeCategoryをfalseにすると直前のadjustsFontForContentSizeCategoryを受け継いでその大きさになってしまいます。
if traitCollection.preferredContentSizeCategory > .extraExtraExtraLarge { UILabel.appearance().adjustsFontForContentSizeCategory = false } else { label.font = UIFont.preferredFont(forTextStyle: .body) UILabel.appearance().adjustsFontForContentSizeCategory = true }
Facebookやtwitterで挙動を確認してみたのですが、文字サイズが制限されていて一定の大きさ以上のものはextraExtraExtraLargeの大きさで設定されているようでした。
どのように設定すれば良いのでしょうか?
あなたの回答
tips
プレビュー