我用过
CGSize textSize = [text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
并返回newHeight
;
计算表格单元格的动态高度。 但是在iOS 7中已经不复存在了。 iOS 7也有类似的功能来计算单元格或拾取器行高的动态高度。
更新代码:
NSString * text = str.text;
CGSize constraintSize = CGSizeMake(320.0f, 40.0f); // Make changes in width as per your label requirement.
CGRect textRect = [text boundingRectWithSize:constraintSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Avenir" size:17]}
context:nil];
CGSize size = textRect.size;
NSLog(@"textSize :: %f",size.height);
return size.height;
我想用以下方法设置我为拾取器视图设置的文本的字体大小。
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString *title;
title=@"The Grand Bhagvati S G Highway";
return title;
}
答案 0 :(得分:2)
对于IOS 7计算文本大小,您可以尝试:
CGSize size = CGSizeMake(set_your_size);
CGRect textRect = [text boundingRectWithSize:size
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont fontNamesForFamilyName:@"Helvetica"}
context:nil];
CGSize textSize = textRect.size;
编辑:
有关详情,请查看:
答案 1 :(得分:1)
您可以在下面使用:
CGRect textRect = [text boundingRectWithSize:constraintSize
options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:cellFont}
context:nil];
答案 2 :(得分:0)
为什么不使用SizeToFit?创建一个标签,其中包含您可以为标签提供的最大框架,然后使用sizeToFit