アプリで自動レイアウトに取り組んでいます。スライダーの動きによってアプリ全体のフォント サイズを大きくする機能があります。問題は、フォント サイズを大きくすると、ラベルのテキストが楕円に変わることです。
ラベルに固定幅と増加する可変高さの制約を与えましたが、これで問題は解決しません。
改行モード (ワードラップ) を指定し、すべてのテキストの行数を指定する必要がありますか、またはこれに対する他の解決策はありますか?
どんな助けでも大歓迎です。
アプリで自動レイアウトに取り組んでいます。スライダーの動きによってアプリ全体のフォント サイズを大きくする機能があります。問題は、フォント サイズを大きくすると、ラベルのテキストが楕円に変わることです。
ラベルに固定幅と増加する可変高さの制約を与えましたが、これで問題は解決しません。
改行モード (ワードラップ) を指定し、すべてのテキストの行数を指定する必要がありますか、またはこれに対する他の解決策はありますか?
どんな助けでも大歓迎です。
これを試して:
最初に上、左、右からラベルに拘束し、次にラベルの高さをそれ以上にしますが、下側からは拘束しません。
次に、次のコードを使用して、ラベルの高さを動的に増やします。
-(float)expectedHeightWithFontSize:(CGFloat)fontSize
{
CGRect lblTextSize = [self.yourLabel.text boundingRectWithSize:CGSizeMake(self.yourLabel.frame.size.width, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]}
context:nil];
return lblTextSize.size.height;
}
ワードラップを設定して、多数の行を指定できるはずです30
。これでうまくいくはずです。