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】18.1 利用安卓内置的定位服务实现位置跟踪
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.安卓内置的定位服务简介 通常将各种不同的定位技术称为位置服务或定位服务.这种服务是通过电信运营商的无线电通信网络(如GS ...
- java多线程实验 滚动字
package com.rgy.Test; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt ...
- python切片 []取值操作符
切片1.什么叫切片数组,元组等含有多个元素的集合,取其中的一段元素的操作,叫做切片 2.取前10个元素 l = list(range(100)) l3 = l[:10] print(l3) 运行结果: ...
- Activiti初学者教程 (zhuan)
http://blog.csdn.NET/bluejoe2000/article/details/39521405 ****************************************** ...
- Rokid开发者社区skill之【历史上的今天】
技能名称:历史上的今天 入口词:打开历史上的今天 语音交互:(有些是先写上) { "intents": [ { "intent": "PAUSE_HI ...
- [未解决]Ajax-读取并解析XML,动态生成select下拉列表框
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 【C#】获取机器码MachineCode
需求:机器码可以用于校验用户是否用的同一台电脑登录,比如在别的机器上登录时做强制下线(踢人下线).通常在用户注册时,计算一次用户的机器码跟随注册信息一起发送给服务器. 机器码的作用看百度百科: 定义规 ...
- websocket 初步使用经验(python)
想实现网页前端和后端的数据同步交互,就有必要使用 websocket 的方式进行通信. python websocket github 地址:git@github.com:Aplexchenfl/py ...
- RP2833 FPGA对应串口标识
U41 FPGA-TXD0 /dev/ruart0 FPGA-RXD0 U40 FPGA-TXD1 /dev/ruart1 FPGA-RXD1
- BusyBox init工作流程
linux启动完成后,运行由Busybox产生的init进程. /sbin/init是系统启动的第一个用户进程,pid=1.init的工作是根据/etc/inittab脚本来进行系统的初始化工作,关机 ...