乍一看,我的问题看起来非常简单,但似乎我真的找不到解决方案。
这是什么:
我想计算CATextLayer字符串的边界框。
这是我的工作:
CATextLayer *textLayer = [CATextLayer layer];
textLayer.frame = CGRectMake(80, 0.0f, 36.0f, 18.0f);
textLayer.string = @"12";
textLayer.fontSize = [UIFont systemFontSize];
textLayer.foregroundColor = [UIColor whiteColor].CGColor;
NSLog(@"(width,height)=(%f,%f)",
[textLayer.string sizeWithFont:textLayer.font].width,
[textLayer.string sizeWithFont:textLayer.font].height);
问题在于输出始终为:(width,height)=(8.000000,0.000000)
最佳答案
使用sizeWithFont:constrainedToSize:lineBreakMode:
[someString sizeWithFont:yourFont
constrainedToSize:CGSizeMake(maxWidthYouSpecify, CGFLOAT_MAX)
lineBreakMode:UILineBreakModeWordWrap];