在iOS 6及更低版本中,我可以使用– sizeWithFont:forWidth:lineBreakMode:
,但在iOS 7中已弃用。
在Apple文档中,它表示使用– boundingRectWithSize:options:attributes:context:
代替。
我如何使用它来获取UILineBreakModeWordWrap的文本宽度?
答案 0 :(得分:0)
将NSString
传递给此方法,它将返回它的高度和宽度。您需要在boundingRectWithSize
中设置最大高度和宽度以满足您的需求。
- (CGSize)sizeOfText:(NSString*)text{
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:text attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.0f]}];
CGRect rect = [attributedText boundingRectWithSize:(CGSize){yourMaxWidth, CGFLOAT_MAX}
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];
return CGSizeMake(rect.size.width,rect.size.height);
}