を設定した場合、折り返されたテキストを含むtextLayer.wrapped = YESようにサイズを変更するにはどうすればよいですか? textLayerつまり、の新しい高さを取得するにはどうすればよいtextLayerですか?
基本的に、私はのようなものが欲しいです-[UILabel sizeToFit]。
を設定した場合、折り返されたテキストを含むtextLayer.wrapped = YESようにサイズを変更するにはどうすればよいですか? textLayerつまり、の新しい高さを取得するにはどうすればよいtextLayerですか?
基本的に、私はのようなものが欲しいです-[UILabel sizeToFit]。
最初に行う必要があるのは、テキストのサイズを取得することです。
ありがたいことに、NSString UIKit Additions Referenceはまさにそれを行う方法を提供します:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
これにより、使用しているフレームまたはサブクラスのCGSizeフレームを設定するために使用できるが得られます。UILabelUIView
したがって、textLayeraUILabelではなくa であると仮定CALayerすると、次のようになります。
UIFont *myFont = [UIFont boldSystemFontOfSize:12.0f];
CGSize myFontSize = [myString sizeWithFont:myFont];
myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, myFontSize.width, myFontSize.height)];
myLabel.text = newTitle;
myLabel.font = myFont;