1

我目前正在使用drawInRect在字符串上绘制文本,并限制为使用CGRectSize的大小。它也是居中的。

[text drawInRect:CGRectMake(0,0,nWidth,nHeight) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];

我需要找出实际绘制文本的大小和偏移量。因为它是居中的,所以在绘制文本之前很有可能存在 X 偏移。

我看过这个命令boundingRectWithSize,但我认为它可能在 IOS 上不受支持?

4

2 回答 2

1

获取文本的大小,

CGSize size = [text sizeWithFont:font constrainedToSize:CGRectMake(0,0,nWidth,nHeight) lineBreakMode: UILineBreakModeWordWrap];

(见文档

然后,由于它是居中的,边界将是

CGRect bounds = CGRectMake((nWidth - size.width)/2, ..., size.width, size.height);
于 2012-08-25T16:36:47.947 回答
0

您想要 NSString 上 UIKit 类别中的方法...

- (CGSize)sizeWithFont:(UIFont *)font

它为您提供所需的尺寸,然后您可以计算您的居中(或其他)位置。

于 2012-08-25T16:34:54.623 回答