2011-11-21 2 views
6

textLayer.wrapped = YES을 설정하면 줄 바꿈 된 텍스트가 포함되도록 textLayer의 크기를 조정하는 방법은 무엇입니까? 즉, textLayer의 새로운 높이를 얻으려면 어떻게해야합니까?CATextLayer wrapped sizeToFit?

기본적으로 나는 -[UILabel sizeToFit]과 같은 것을 원합니다.

+0

그것에 대해 궁금 너무 .. – Nils

답변

2

가장 먼저해야 할 일은 텍스트의 크기를 얻는 것입니다.

고맙게도 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; 
+1

문제는의 CALayer입니다. –

관련 문제