iOS开发- UILabel 自己主动换行 及 高度自适应
主要是今天看到论坛有人问这个问题。帮忙解决之后, 顺便Mark下。
非常easy, 代码写的非常清楚。 直接上代码。
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
label.text = @"今天下午全市多云到阴有阵雨或雷雨,今天夜里到明天阴有阵雨,雨量可达大雨。 东北风5-6级阵风7级,逐渐增强到6-7级阵风8级。 今天最高气温:26左右, 明晨最低气温:22左右。 今晨最低气温:21。 今日紫外线等级:2级。照耀强度弱,适当防护。 明日洗车指数:4级,天气有雨,不宜洗车。";
//清空背景颜色
label.backgroundColor = [UIColor clearColor];
//设置字体颜色为白色
label.textColor = [UIColor whiteColor];
//设置label的背景色为黑色
label.backgroundColor = [UIColor blackColor];
//文字居中显示
label.textAlignment = UITextAlignmentCenter;
//自己主动折行设置
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0; //自适应高度
CGRect txtFrame = label.frame; label.frame = CGRectMake(10, 100, 300,
txtFrame.size.height =[label.text boundingRectWithSize:
CGSizeMake(txtFrame.size.width, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
attributes:[NSDictionary dictionaryWithObjectsAndKeys:label.font,NSFontAttributeName, nil] context:nil].size.height);
label.frame = CGRectMake(10, 100, 300, txtFrame.size.height); [self.view addSubview:label];
效果图:
iOS开发- UILabel 自己主动换行 及 高度自适应的更多相关文章
- iOS开发 UILabel实现自适应高宽
UILabel是iOS开发常用的控件.UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握.UILabel自适应高宽度是很多初学者遇到的技术性难题.比如段文字,要让他完全地分行显示 ...
- iOS开发--UILabel可以显示\n
UILabel*label; //设置换行 label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = ; 换行符还是“\ ...
- iOS开发--UILabel根据内容自动调整高度
写法一:对象方法,传入:字体/最大尺寸. 即可得到宽高, 最大尺寸主要限制宽度,如果是一行就给个{MAXFLOAT,MAXFLOAT};如果是多行就限制X值,Y值随便给 - (CGSize)sizeW ...
- iOS开发之计算动态cell的高度并缓存
项目中有个类似微博那样的动态cell,文字和图片的多少都不是确定的 刚开始使用autolayout,结果很多问题,最后我发现了一个框架 FDTemplateLayoutCell 写的很好,自动布局ce ...
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
1.改变高度 自定义UINavigationBar的新类别: //UINavigationBar+BackgoundImage.h #import <Foundation/Foundation. ...
- iOS开发-UILabel和UIButton添加下划线
关于UILabel和UIButton有的时候需要添加下划线,一般有两种方式通过默认的NSMutableAttributedString设置,第二种就是在drawRect中画一条下划线,本文就简单的选择 ...
- iOS开发-NSString去掉所有换行及空格
1.去掉字符串两端的空格及回车 - (NSString *)removeSpaceAndNewline:(NSString *)str{ NSString *temp = [str stringByT ...
- iOS开发tips-UITableView、UICollectionView行高/尺寸自适应
UITableView 我们都知道UITableView从iOS 8开始实现行高的自适应相对比较简单,首先必须设置estimatedRowHeight给出预估高度,设置rowHeight为UITabl ...
- iOS开发经常使用宏定义
iOS开发经常使用宏定义 iOS开发中经常须要获取屏幕宽度高度,为view设置颜色,为imgagView设置图片等,我们都可定义一些宏,随时都可拿来使用,方便开发 <span style=&qu ...
随机推荐
- Android 开发之 bindService() 通信
Service 启动方式有两种 startService(intent) bindService(intent,conn,Context.BIND_AUTO_CREATE) startService( ...
- Scala之集合Collection
概述 Scala的集合类能够从三个维度进行切分: 可变与不可变集合(Immutable and mutable collections) 静态与延迟载入集合 (Eager and delayed ev ...
- Linux操作系统及应用课程笔记 索引
第0部分 软件的安装与配置 Linux下软件的安装与配置 第1部分* 绪论 第2部分* Linux的安装过程 第3部分 系统Shell和经常使用命令 Shell文件相关经常使用命令及參数总 ...
- 每日英语:Tech Firms Flock to Vietnam
Opening up a Korean restaurant among the rice fields and limestone karsts north of Hanoi might seem ...
- git使用教程&&问题列表
git教程[转] http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git push ...
- C# 简单Tcp通信demo
Client 代码 private void btnSend_Click(object sender, EventArgs e) { TcpClient tcpClient = new TcpClie ...
- 如何在 Java 中正确使用 wait, notify 和 notifyAll?
简介 wait,notify,notifyAll,都是属于object对象提供的方法,但在实际工作中怎么使用这几个方法,确是很多程序员清楚,不够明白,在群里问,有人说,哪个线程想wait,就用 ...
- xml选择节点方法
1.选取某个节点 方法一:newNode = document.DocumentElement.SelectSingleNode("//student[@id='A103']"); ...
- 用Lucene对文档进行索引搜索
问题 现在给出很多份文档,现在对某个搜索词感兴趣,想找到相关的文档. 简单搜索 一种简单粗暴的做法是: 1.读取每个文档:2.找到其中含有搜索词的文档:3.对找到的文档中搜索词出现的次数统计:4.根据 ...
- oracle sql生成日历表
以下是生成2017年日历表: insert into dw_mdl.m_hadp_dim_date select to_char(everyDay,'yyyy-mm-dd') as dt, to_ch ...