如何计算NSString对于drawInRect是否太长

时间:2015-04-27 03:36:30

标签: ios objective-c nsstring word-wrap

我正在为我正在创建的pdf添加不同长度的variaty,我使用以下代码将txt写入pdf。

if (subLocationCellTextString.length > 0) {
                NSString *areaLocationString = @"Area Location:";
                [areaLocationString drawInRect:CGRectMake(290.0, 195.0, 100.0, 25.0) withAttributes:blackAttributes];
                // line
                [self drawLineDarkGreyRect:290.0 StartB:215.0 FinishA:555.0 FinishB:215.0];

                [subLocationCellTextString drawInRect:CGRectMake(382.0, 195.0, 200.0, 20.0) withAttributes:grayAttributes];
            }

在某些情况下,subLocationCellTextString对于我制作的drawInRect来说太长了。我想知道是否有办法计算NSString的大小,所以如果它太大,那么我可以自动换行到第二行。

1 个答案:

答案 0 :(得分:0)

您可以像

一样使用它
 CGRect rect = [areaLocationString boundingRectWithSize:CGSizeMake(fixedWidth,CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:blackAttributes context:nil];
    if (rect.size.height > yourheight){
        //Too long
    }