2017-01-20 20 views
0

私は、テキストを正しくフィットさせるためにフォントサイズを調整する必要があるUILabelsを2つ持っています。.adjustsFontForContentSizeCategoryなしでUILabelのフォントサイズを調整する

これは簡単に.adjustsFontSizeToFitWidthプロパティで解決されるだろうが、事は、両方UILabelsが近く、互いており、同様の情報を伝えるよう、ということですが、私は彼らが同じフォントサイズを持つようにしたい(とadjustsFontSizeToFitWidthは独立して調整されます)。

私は何とか(これは私が助けが必要なところです)、両方のラベルにフォントサイズが必要であり、両方で最小を使用する必要があると考えていました。

image

これを行う方法上の任意のアイデア?両方のラベルは複数行(2行)で、常に同じサイズです。

ありがとうございます。

+0

ポストのスクリーンショット。 –

+0

あなたはどちらのフォントの中で最も小さいフォントが必要かをフォアハンドで知っていますか?それはもっと簡単になるでしょう – Eric

+0

@AdilSoomroここはhttp://imgur.com/a/5KShOです –

答えて

0

.adjustsFontSizeToFitWidthプロパティをtrueに設定し、最小のフォントを取得してから、2つの幅を比較し、両方の幅を最小値に設定します。例擬似コードで:

.adjustsFontSizeToFitWidth = true 
var fontSizeOne = labelOne.fontSize 
var fontSizeTwo = labelTwo.fontSize 

if(fontSizeOne < fontSizeTwo) 
    { 
    labelTwo.fontSize = labelOne.fontSize 
    } 
else 
    { 
    labelOne.fontSize = labelTwo.fontSize 
    } 
+0

最初はこれを考えましたが、fontSizeプロパティはフォントサイズを変更しても変わりません。 –

0

あなたはmin機能を使用してウィルの答え@これまで短くすることができます

labelOne.adjustsFontSizeToFitWidth = true 
    labelTwo.adjustFontSizeToFitWidth = true 

    var fontSizeOne = labelOne.font.pointSize 
    var fontSizeTwo = labelTwo.font.pointSize 

    var min = min(fontSizeOne, fontSizeTwo) 
    labelOne.font = UIFont.systemFont(ofSize: min)) 
    labelTwo.font = labelOne.font 
+0

まずは返信Ericさん、ありがとう!しかし、これはうまくいかなかった。私は、サイズの視覚的変化にもかかわらず、pointSizeは同じであると考えていました。 –

+0

fontSizeOne:20.0 fontSizeTwo:20.0 –

+0

実際のフォントサイズを取得するのは非常に難しいようですが、[このスタックオーバーフローポスト](http://stackoverflow.com/questions/34622503/when-do-adjustsfontsizetofitwidth-or - 変更 - 文脈 - 行動 - )はあなたを助けることができますか? – Eric

関連する問題