UILabel 调整行间距计算frame

+ (UILabel *)getLabelFrame:(UILabel *)label withLineSpace:(NSInteger)lineSpace withAttributedString:(NSString *)string

{

[label setNumberOfLines:0];

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string];

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

[paragraphStyle setLineSpacing:lineSpace];//调整行间距

[attributedString addAttribute:NSFontAttributeName

value:label.font

range:NSMakeRange(0, string.length)];

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];

label.attributedText = attributedString;

CGSize size = [label.attributedText boundingRectWithSize:CGSizeMake(label.frame.size.width, 1000) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading context:nil].size;

label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, size.width, size.height);

return label;

}

时间: 2024-11-12 04:43:38

UILabel 调整行间距计算frame的相关文章

UILabel 调整行间距

/* 调整行间距 */ + (void)adjustLineSpacingOfLabel:(UILabel *)label to:(CGFloat)lineSpacing { NSString *textStr = label.text; if (textStr.length <= 0) { return; } NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithStri

ios7之后 根据UILabel的文字计算frame的方法

ios7 新出来的根据label的文字和字体大小来确定label的宽高. 官方的方法是: - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0); 其中NSStringDrawingO

iOS开发 --UITableviewCell的自定义与计算frame

一.UITableViewCell简介 UITableView上的每一行的内容都是UITableViewCell来显示的,通过 UITableViewDataSource的协议方法:tableView:cellForRowAtIndexPath:来初始化要显示的内容.而 UITableViewCell则是通过它自带的contentView来显示,每个Cell都默认有个子视图contentView,所以每个cell 上显示的内容都是加在这个视图上. 系统的UITableViewCell有四种类型

ios 设置 UILabel的行间距

//行高 #define kLineSpace 1.5 self.memo.text = self.ticketModel.memo; //设置字体大小 self.memo.font = kFontSize(12); //计算字体size CGSize memoSize =  [self.memo.textsizeWithFont:kFontSize(12) maxSize:CGSizeMake(260, MAXFLOAT)]; //计算加入行高后文字的高度 CGFloat linesH = (

UILabel设置行间距和字间距并计算高度-b

#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabel设置行间距和字间距 -(void)setLabelSpace:(UILabel*)label withValue:(NSString*)str withFont:(UIFont*)font { NSMutableParagraphStyle *paraStyle = [[NSMutablePara

(转载)iOS UILabel自定义行间距时获取高度

本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel 附下载地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel 下载后,添加到工程里面,导入头文件 #import "TTTAttributedLabel.h" 直接上代码 NSString *str = @"UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,

UILabel的行间距

一提到UILabel的行间距,一般都是用下面的方法解决. UILabel *label = [[UILabel alloc] initWithFrame:labelFrame]; [label setBackgroundColor:[UIColor clearColor]]; [label setTextColor:textColor]; [label setNumberOfLines:0]; label.font = textFont; NSString *labelText = @"我是内容

iOS UILabel的行间距

今天美工要求label的字体之间要有一定的间距,我的数据由于是网络请求下来的没有设置成功,只能调整段落之间的间距, UILabel设置行间距等属性: NSMutableAttributedString *attributedString =[[NSMutableAttributedStringalloc]initWithString:contentLabel.text];; NSMutableParagraphStyle*paragraphStyle = [[NSMutableParagraph

iOS UILabel自定义行间距时获取高度

本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel 附下载地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel 下载后,添加到工程里面,导入头文件 #import "TTTAttributedLabel.h" 直接上代码 NSString *str = @"UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,