使用drawInRect打印出NSString的边界

时间:2012-08-25 16:25:36

标签: iphone ios nsstring

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

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

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

我见过命令boundingRectWithSize,但我认为IOS可能不支持它?

2 个答案:

答案 0 :(得分:1)

获取文字的大小,

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

(见documentation

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

CGRect bounds = CGRectMake((nWidth - size.width)/2, ..., size.width, size.height);

答案 1 :(得分:0)

你想要NSString上的UIKit类的方法......

- (CGSize)sizeWithFont:(UIFont *)font

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