首页 > 代码库 > iOS 多行label的方法

iOS 多行label的方法

如何从新 iOS 7 方法 sizeWithAttributes 返回 CGSize 的多行文本?

我想这要产生相同的结果为 sizeWithFont:constrainedToSize。

NSString *text = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus eu urna quis lacus imperdiet scelerisque a nec neque. Mauris eget feugiat augue, vitae porttitor mi. Curabitur vitae sollicitudin augue. Donec id sapien eros. Proin consequat tellus in vehicula sagittis. Morbi sed felis a nibh hendrerit hendrerit. Lorem ipsum dolor sit."CGSize textSize = [text sizeWithAttributes:@{ NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:16.0] }];

此方法只生成单个文本行的高度。

解决方法 1:

好你可以试试这个:

NSDictionary *attributes = @{NSFontAttributeName: [UIFont fontWithName:@"HelveticaNeue" size:14]};// NSString class method: boundingRectWithSize:options:attributes:context is// available only on ios7.0 sdk.CGRect rect = [textToMeasure boundingRectWithSize:CGSizeMake(width, MAXFLOAT)                                              options:NSStringDrawingUsesLineFragmentOrigin                                           attributes:attributes                                              context:nil];

iOS 多行label的方法