私は現在プロジェクトで作業しており、プロジェクトがすべての画面サイズで正確に同じになるようにしたいと考えています。私は正常にテキスト以外のすべてでそれをやった。大きいデバイスで文字サイズを大きくする
そして、あなたがiPad上で見ることができるようにテキストが小さい:ここたとえばそれがiPhone上でどのように見えるかです。 (または同じサイズのまま)
のiPad:
私はiPadのテキストサイズは、画面の大きさに伴って増加したいと思います。どんな助けでも本当にありがとうございました!
私は現在プロジェクトで作業しており、プロジェクトがすべての画面サイズで正確に同じになるようにしたいと考えています。私は正常にテキスト以外のすべてでそれをやった。大きいデバイスで文字サイズを大きくする
そして、あなたがiPad上で見ることができるようにテキストが小さい:ここたとえばそれがiPhone上でどのように見えるかです。 (または同じサイズのまま)
のiPad:
私はiPadのテキストサイズは、画面の大きさに伴って増加したいと思います。どんな助けでも本当にありがとうございました!
サイズクラスが最適です。
サイズクラスを使用すると、画面サイズに応じてフォントサイズなどの表示プロパティを設定できます。
ここにいくつかのガイダンスがあります。
viewWillLayoutSubviews
メソッドのテキストのフォントサイズを計算することをお勧めします。
文字列にboundingRect(with:options:attributes:context)
メソッドを呼び出すと、テキストを含むことができるCGRect
が得られます。次に、この矩形をラベルの矩形と比較します。小さすぎる場合は、フォントサイズを1つ増やしてもう一度やり直してください。テキストの矩形がラベルの矩形よりも大きくなるまでこれを続けます。
あなたが怠け者で、自分でアルゴリズムを書きたくない場合は、FittableFontLabelを試してみてください。
ストーリーボードに適切なフォントラベルを作成し、希望するサイズにストレッチし、いくつかの制約を加えて、テキストサイズを計算して設定します。
がiphone 7上の最初の実行プラス(大きな解像度:D)を試してみてください。このコードで:
label?.font = self.titleLabel!.font.withSize(45)
label.titleLabel?.adjustsFontSizeToFitWidth = true
label.textLabel?.minimumScaleFactor = 0.5
だから今、テキストのサイズを確認し、それを修正。 最終的に正しいフォントサイズを決定したら、他のエミュレータ(iphone 6やiphone 5など)でこれを確認してください。 scaleFactorを修正しましたが、一般的には0.5で十分だと思います。
サイズクラスを使用していますが、iPhoneやiPadでちょっと不器用なUIになります。 。 – holex
ええ、私はそれを避けようとしていました。別の解決策があるかどうかを見ていた。応答 – iNick
のおかげで、サイズクラスはそのような状況を解決するために正確に設計されました。 :) Appleの__ [公式ガイダンス](https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/Size-ClassSpecificLayout.html)__があります。あなたがそれらについて不安を感じるなら、あなたはツアーをすることができます。 – holex