我当前使用drawInRect在字符串上绘制文本,限制为使用CGRectSize的大小。它也是集中的。
[text drawInRect:CGRectMake(0,0,nWidth,nHeight) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];
我需要了解的是实际绘制文本的大小和偏移量。因为它是居中的,所以在绘制文本之前很有可能存在X偏移。
我看到了命令boundingRectWithSize
,但我认为IOS可能不支持它?
获取文本的大小,
CGSize size = [text sizeWithFont:font constrainedToSize:CGRectMake(0,0,nWidth,nHeight) lineBreakMode: UILineBreakModeWordWrap];
(参见文档)
然后,由于它是居中的,边界将是
CGRect bounds = CGRectMake((nWidth - size.width)/2, ..., size.width, size.height);
您想要NSString上UIKit类别中的方法。。。
- (CGSize)sizeWithFont:(UIFont *)font
这给了你所需的尺寸,然后你可以计算你的居中(或其他)位置。