textLayer.wrapped = YES
を設定した場合、ラップされたテキストを含むようにtextLayer
のサイズを変更するにはどうすればよいですか?私は、textLayer
の新しい高さをどうやって得るのですか?CATextLayer wrapped sizeToFit?
基本的に、私は-[UILabel sizeToFit]
のようなものが欲しいです。
textLayer.wrapped = YES
を設定した場合、ラップされたテキストを含むようにtextLayer
のサイズを変更するにはどうすればよいですか?私は、textLayer
の新しい高さをどうやって得るのですか?CATextLayer wrapped sizeToFit?
基本的に、私は-[UILabel sizeToFit]
のようなものが欲しいです。
最初にする必要があるのは、テキストのサイズを取得することです。
ありがたいことに、NSString UIKit Additions Referenceはまさにそれを行うための方法を提供しています:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
あなたが、あなたがしているUIView
のごUILabel
または任意のサブクラスの枠を設定するために使用することができますCGSize
を与えることを使用して。
textLayer
がUILabel
であると仮定ので、 - というよりも、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;
質問はCALayerのためのものです。 –
あまりにもそのことについて思っていた... – Nils