2
私のipadアプリケーションでは、私は全体のビューを占めるlableを持っています。私は、rect全体に収まるラベルのサイズを動的に計算したいと思います。しかし、私はラップという言葉を維持したい。 私のXIBでは、ラベルを付けてモードを単語ラップモードに設定しました。iPad/iPhone - 指定された矩形に収まるラベルサイズを設定します
添付の画像を参照してください。私が欲しいのは、単語を折り返してラベルを表示することです。問題を見つけるのに手伝ってくれる人がいますか?
次は私が使用しているコードです: (これらのフォーラムで回答の一つで、私は次のコードを見つけました:)
-(void)sizeLabel:(UILabel*)label toRect:(CGRect)labelRect withFont:(NSString*)fontName {
// Set the frame of the label to the targeted rectangle
label.frame = labelRect;
// Try all font sizes from largest to smallest font size
int fontSize = 300;
int minFontSize = 5;
// Fit label width wize
CGSize constraintSize = CGSizeMake(label.frame.size.width, MAXFLOAT);
do {
// Set current font size
label.font = [UIFont fontWithName:fontName size:fontSize];
// Find label size for current font size
CGSize labelSize = [[label text] sizeWithFont:label.font
constrainedToSize:constraintSize
lineBreakMode:UILineBreakModeWordWrap];
// Done, if created label is within target size
if(labelSize.height <= label.frame.size.height)
break;
// Decrease the font size and try again
fontSize -= 2;
} while (fontSize > minFontSize);
}
最初のコード行は[label setAdjustsFontSizeToFitWidth:YES]である必要があります。 –