UILabel自适应高度

网上找了很多资料,都是iOS7.0之前的方法,现在苹果都已经弃用,不能使用了,小弟找了一个iOS7.0之后的方法,写下来给大家分享下

 1 //创建UILabel
 2  UILabel *label=[[UILabel alloc]init];
 3
 4 //设置label可以换行
 5   label.numberOfLines=0;//必须设置

  //写好测试字符串
 6 NSString * [email protected]"这些字都是用来测试UIlabel是否可以自适应高度的,所以无论我写了些什么你都不要奇怪和惊讶,因为我都不知道我在写了些啥东西哈哈哈哈哈";
 7 //设置label字体
 8 label.font=[UIFont systemFontOfSize:14.0];//必须设置
 9
10 CGSize size=CGSizeMake(100, 200000);//可以限制宽 高度可以任意
11
12 //下面方法中需要的参数 注意:字体的大小要和上面设置字体大小的一直
13  NSDictionary * [email protected]{NSFontAttributeName:[UIFont systemFontOfSize:14.0]};
14
15   //同上面的字典一样也是下面方法需要的参数
16   // NSStringDrawingUsesLineFragmentOrigin 表示矩形区域的高度被忽略
17   // NSStringDrawingUsesFontLeading     表示计算之后的矩形区域包括行间距
18
19 //计算高度
20 CGRect  rect=      [ str  boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading  attributes:dic context:nil];
21
22 //设置label的位置和高度
23  label.frame=CGRectMake(20, 100, rect.size.width, rect.size.height);
24
25 //设置label显示内容
26 label.text=str;
27
28 [self.view addSubview:label];
时间: 2024-10-24 12:03:07

UILabel自适应高度的相关文章

【转】UITableViewCell自适应高度 UILabel自适应高度和自动换行

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {    // 列寬    CGFloat contentWidth = self.tableView.frame.size.width;    // 用何種字體進行顯示    UIFont *font = [UIFont systemFontOfSize:13];       // 該行要顯示的內容    

iOS7之后的UILabel自适应高度

UILabel  ios7 与ios7之前实现自适应撑高的方法,文本的内容长度不一,我们需要根据内容的多少来自动换行处理.在IOS7下要求font,与breakmode与之前设置的完全一致sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByCharWrapping 我自己最近写UILabel的自适应高度,发现以前的方法和枚举iOS7之后都被抛弃了,所以自己又总结了一下新的方法: //支持iOS7    UILab

UILabel 自适应高度,宽度

mLabel1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 10, 1)]; mLabel1.text = @"my label 1, ok , ok , ok "; mLabel1.numberOfLines = 0; [mLabel1 sizeToFit]; 说明: 1. 如果只调用 sizeToFit,则label的位置不变,宽度会根据内容自适应,文本会只占1行 2. 如果设定numberOfLines = 0的同时调用si

UIlabel自适应高度和自动换行

下面的语句都是我亲自试验过的,保证可以运行出来. UILabel *label = [[UILabel alloc] init]; NSString *text = @"这是一个测试!!"; label.text = text; label.numberOfLines = 0; UIFont *font = [UIFont systemFontOfSize:14]; label.backgroundColor = [UIColor greenColor]; //设置字体 label.f

iOS开发-使用storyboard实现UILabel的自适应高度(iOS8)

好久没有写博客了,以后多写些博客,对自己是一种提升,对大家也是一种帮助 最近特别痴迷storyboard和xib的可视化编程,在写项目的时候遇到个问题就是如何使UILabel自适应高度,查了好多文章博客,没有太好的办法,我就自己手动搞了搞,实现了自己想要的效果,下面分享出来 相信大家都遇到这种情况,label没有根据text的字数来自适应高度 那么如何使UILabel自适应高度呢? 在可视化编程下我们需要这么做 1.不可以将label的高度设成固定值,因为设成固定值,label的大小就确定了,在

IOS7.0 UILabel实现自适应高度的新方法

//IOS7.0中利用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context 方法可以获取label的Size大小,来自适应高度,取代了之前的- (CGSize)sizeWithFont:(UIFont *)font const

自适应高度 UILabel自动折行

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)]; label.text = @"今天下午全市多云到阴有阵雨或雷雨,今天夜里到明天阴有阵雨,雨量可达大雨. 东北风5-6级阵风7级,逐渐增强到6-7级阵风8级. 今天最高气温:26左右, 明晨最低气温:22左右. 今晨最低气温:21. 今日紫外线等级:2级,照射强度弱,适当防护. 明日洗车指数:4级,天气有雨,不宜洗车."; //清空

iOS 设置UILabel的行间距并自适应高度

NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel alloc] init]; //设置背景颜色 tempLabel.backgroundColor = [UIColor redColor]; //设置内容 tempLabel.text = contentStr; //设置字体颜色 tempLabel.textColor = [UIColor whiteCol

IOS UILabel 根据内容自适应高度

iOS Label 自适应高度  适配iOS7以后的版本 更多 self.contentLabelView = [[UILabel alloc] init]; self.contentLabelView.font = SYS_FONT(15); self.contentLabelView.lineBreakMode =NSLineBreakByTruncatingTail ; self.contentLabelView.textColor =  [UIColor colorWithHexStri