Ios NSAttributedString多行给出错误的高度?
我想计算NSAttributedString多行的高度。对于单行线,它工作正常(意味着它减去从高度开始的引线)。但是,如果文本是多行的,则给出的结果与单行相同Ios NSAttributedString多行给出错误的高度?,ios,ipad,ios6,nsattributedstring,Ios,Ipad,Ios6,Nsattributedstring,我想计算NSAttributedString多行的高度。对于单行线,它工作正常(意味着它减去从高度开始的引线)。但是,如果文本是多行的,则给出的结果与单行相同 NSMutableParagraphStyle *titleParagraphStyle = [[NSMutableParagraphStyle alloc] init]; titleParagraphStyle.lineHeightMultiple = 0.9f; titleParagraphStyle.lineBreakMode =
NSMutableParagraphStyle *titleParagraphStyle = [[NSMutableParagraphStyle alloc] init];
titleParagraphStyle.lineHeightMultiple = 0.9f;
titleParagraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
CGSize constrainedSize = CGSizeMake(TOUNameWidth, MAXFLOAT);
NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
TOUNameFont, NSFontAttributeName,
titleParagraphStyle, NSParagraphStyleAttributeName,
nil];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString: name attributes:attributesDictionary];
CGRect rect = [string boundingRectWithSize:constrainedSize options:NSStringDrawingUsesFontLeading context:nil];
NSLog(@"rect is %f",rect.size.height);
根据
boundingRectWithSize:options:context:
的文档,您需要添加NSStringDrawingUserLineFragmentOrigin
如果未指定NSStringDrawingUserLineFragmentOrigin,则
矩形的高度将被忽略,操作将被视为
单线渲染。(由于一个bug,iOS上的宽度也被忽略。)
(六)