自适应label的高度
iOS7以下的系统可使用方法
//获得当前cell高度
CGRect frame = [self frame];
//文本赋值
self.introduction.text = text;
//设置label的最大行数
self.introduction.numberOfLines = 0;
CGSize size = CGSizeMake(300, 1000);
CGSize labelSize = [self.introduction.text sizeWithFont:self.introduction.font constrainedToSize:size lineBreakMode:NSLineBreakByClipping];
NSLog(@"w = %f", labelSize.width);
NSLog(@"h = %f", labelSize.height);
iOS7以上才支持的方法
// NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:self.introduction.text];
//// self.introduction.attributedText = attrStr;
// NSRange range = NSMakeRange(0, attrStr.length);
// NSDictionary *dic = [attrStr attributesAtIndex:0 effectiveRange:&range];
NSDictionary *dic = @{NSFontAttributeName: self.introduction.font};
CGSize labelSize1 = [self.introduction.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:dic context:nil].size;
NSLog(@"w = %f", labelSize1.width);
NSLog(@"h = %f", labelSize1.height);
self.introduction.frame = CGRectMake(self.introduction.frame.origin.x, self.introduction.frame.origin.y, labelSize1.width, labelSize1.height);
//计算出自适应的高度
frame.size.height = labelSize1.height+100;
self.frame = frame;
iOS6以上才支持的方法
NSAttributedString *str = [[NSAttributedString alloc] initWithString:self.introduction.text];
NSAttributedString *str1 = [[NSAttributedString alloc] initWithString:self.introduction.text attributes:@{NSFontAttributeName : self.introduction.font}];
CGSize size1 = [str boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
CGSize size2 = [str1 boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
自适应label的高度的更多相关文章
- 基于jQuery自适应宽度跟高度可自定义焦点图
基于jQuery自适应宽度跟高度可自定义焦点图.这是一款带左右箭头,缩略小图切换的jQuery相册代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section cl ...
- ios webview自适应实际内容高度4种方法
有的时候会碰见类似的苦逼需求, webview自适应实际内容高度 下面有四种方法供使用 方法1:获取webview中scrovllview的contentsize进行设置 1 2 3 4 5 6 ...
- iOS-动态计算Label的高度
一. 要求 1.根据网络请求的回来的字符串内容,动态计算Label的高度. 二. 注意点 1. 要注意设置label 的 numberOfLines 为0; 2. MAXFLOAT 的作用. 设置高度 ...
- 如何设置自适应当前浏览器高度的div块
嗯 就是下面这样 <!DOCTYPE html> <head> <title>adaptive this page size</title> <s ...
- 怎么可以让div自适应屏幕的高度?(已解决)
主要解决问题的方法是用JS脚本. 先看布局, 一个div是首部,另一个div是主体,主体包含左侧菜单和右侧内容. 我想把主体div的高度自适应屏幕剩余区域,怎么做? 首先,获取可见区域的高度,docu ...
- 总结iframe高度自适应,自适应子页面高度
在网上找了很多iframe的高度自适应,发现很多兼容性都不是很好,于是自己总结了一下. 页面html节点上要有 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- ios 设置label的高度随着内容的变化而变化
好吧 步骤1:创建label _GeRenJianJie = [[UILabel alloc]init]; 步骤2:设置label _GeRenJianJie.textColor = RGBAColo ...
- 根据文字计算出label的高度
ios7.0之前用: [strtestsizeWithFont:ContentFontconstrainedToSize:CGSizeMake(ScreenWeight -20, 1000) line ...
- Winfrom固定Label宽度,根据文本动态改变Label的高度 z
Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好.最后灵机一动,想起了偶尔用过一次的FlowLayoutPa ...
随机推荐
- assert的用处
ASSERT函数是用于调试中,也就是说在你的代码中当是Debug的时候它完成对参数的判断,如果是TRUE则什么都不做,如果是FALSE则弹出一个程序中断对话框提示程序出现错误.在Release版本中它 ...
- Unity3d多线程
http://blog.csdn.net/dingkun520wy/article/details/49181645 (一)多线程的创建 Thread t = new Thread(new Threa ...
- windows+tomcat 7配置二级域名访问其他web程序
1.在域名管理中做好二级域名的解析 2.在tomcat的server.xml中增加如下: <Host name="wx.ai77.cn" debug="0" ...
- 两端对齐(兼容较好,支持IE)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- OpenGL 简介
OpenGL是一个底层图形库规范.它为程序员提供了一个小的几何图元(点.线.多边形.图片和位图)库和一个支持2D/3D几何对象绘图命令库,通过所提供的图元和命令来控制对象的呈现(绘图). 由于Open ...
- [saiku] 优化多维度查询效率
1.优化查询精度 优化原因:当维度过多时,查询很复杂,效率较慢.因此看能否通过优化sql的方式来提高查询效率. 代码跟踪查看(维度多余3时查询条件里面有in,优化不用in关键字) public abs ...
- nyoj 115------城市平乱( dijkstra // bellman )
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...
- struts过滤器和拦截器的区别
拦截器的工作原理:当接收到一个httprequest ,a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDisp ...
- SVMtoy
SVMtoy [label_matrix, instance_matrix] = libsvmread('ex8b.txt'); options = ''; % contour_level = [-1 ...
- sql server中备份数据的几种方式
当我们在写sql脚本要对数据表中的数据进行修改的时候,为了防止破坏数据,通常在开发前都会对数据表的数据进行备份,当我们sql脚本开发并测试完成后,再把数据恢复回来. 目前备份数据,我常用的方法有以下几 ...