2016-10-26 7 views
0

私は現在プロジェクトで作業しており、プロジェクトがすべての画面サイズで正確に同じになるようにしたいと考えています。私は正常にテキスト以外のすべてでそれをやった。大きいデバイスで文字サイズを大きくする

enter image description here

そして、あなたがiPad上で見ることができるようにテキストが小さい:ここたとえばそれがiPhone上でどのように見えるかです。 (または同じサイズのまま)

のiPad:

enter image description here

私はiPadのテキストサイズは、画面の大きさに伴って増加したいと思います。どんな助けでも本当にありがとうございました!

+1

サイズクラスを使用していますが、iPhoneやiPadでちょっと不器用なUIになります。 。 – holex

+0

ええ、私はそれを避けようとしていました。別の解決策があるかどうかを見ていた。応答 – iNick

+0

のおかげで、サイズクラスはそのような状況を解決するために正確に設計されました。 :) Appleの__ [公式ガイダンス](https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/Size-ClassSpecificLayout.html)__があります。あなたがそれらについて不安を感じるなら、あなたはツアーをすることができます。 – holex

答えて

2

サイズクラスが最適です。

サイズクラスを使用すると、画面サイズに応じてフォントサイズなどの表示プロパティを設定できます。

0

ここにいくつかのガイダンスがあります。

viewWillLayoutSubviewsメソッドのテキストのフォントサイズを計算することをお勧めします。

文字列にboundingRect(with:options:attributes:context)メソッドを呼び出すと、テキストを含むことができるCGRectが得られます。次に、この矩形をラベルの矩形と比較します。小さすぎる場合は、フォントサイズを1つ増やしてもう一度やり直してください。テキストの矩形がラベルの矩形よりも大きくなるまでこれを続けます。

あなたが怠け者で、自分でアルゴリズムを書きたくない場合は、FittableFontLabelを試してみてください。

ストーリーボードに適切なフォントラベルを作成し、希望するサイズにストレッチし、いくつかの制約を加えて、テキストサイズを計算して設定します。

0

が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で十分だと思います。

関連する問題