IOS7中自动计算label的宽度和高度的方法
#import "ViewController.h"
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//根据固定的宽度计算 计算label的高度
[self sizeToLabelHeight];
//根据固定的高度 计算label的宽度
[self sizeToLabelWidth];
}
/**
* 自动计算label的宽度 前提高度固定
*
*/
- (void)sizeToLabelWidth
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor whiteColor];
label.font = [UIFont systemFontOfSize:];
label.numberOfLines = ; //这个属性 一定要设置为0 0表示自动换行 默认是1 不换行
label.backgroundColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentLeft;
NSString *str = @"fsdfsfnksdfjsdkhfjksdhfjdolfsdfsfnksdfjsdkhfjksdhfjsdkhfjksdhfjdojdol";
//第一种方式
// CGSize size = [str sizeWithFont:label.font constrainedToSize: CGSizeMake(MAXFLOAT,label.frame.size.height) lineBreakMode:NSLineBreakByWordWrapping];
//第二种方式
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = [UIFont systemFontOfSize:];
CGSize size = [str boundingRectWithSize:CGSizeMake( MAXFLOAT,label.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
label.frame = CGRectMake(, , size.width, );
label.text = str;
[self.view addSubview:label];
}
/**
* 自动计算label的高度 前提 :宽度固定
*/
- (void)sizeToLabelHeight
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor whiteColor];
label.font = [UIFont systemFontOfSize:];
label.numberOfLines = ;//这个属性 一定要设置为0 0表示自动换行 默认是1 不换行
label.backgroundColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentLeft;
NSString *str = @"fsdfsfnksdfjsdkhfjksdhfjdolfsdfsfnksdfjsdkhfjksdhfjsdkhfjksdhfjdojdol";
//第一种方式
// CGSize size = [str sizeWithFont:label.font constrainedToSize: CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
//第二种方式
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = [UIFont systemFontOfSize:];
CGSize size = [str boundingRectWithSize:CGSizeMake(label.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
label.frame = CGRectMake(, , , size.height);
label.text = str;
[self.view addSubview:label];
}
@end
IOS7中自动计算label的宽度和高度的方法的更多相关文章
- HTML 的超链接 a 标签中如何设置其宽度和高度?
HTML 的超链接 a 标签中如何设置其宽度和高度? 在DIV CSS布局中,html 中 a 超链接标签,直接对其设置宽度和高度不能生效,设置宽度和高度也不起作用,这里为大家分享如何实现 a 标签宽 ...
- swift计算label动态宽度和高度
swift计算label动态宽度和高度 func getLabHeigh(labelStr:String,font:UIFont,width:CGFloat) -> CGFloat { let ...
- Javascript获取图片原始宽度和高度的方法详解
前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...
- 如何在onCreate方法中获取视图的宽度和高度
你可以通过视图的getWidth()和getHeight()来获取视图的宽度和高度. 但是,可能会让你失望的是,如果你直接在onCreate方法内调用这两个函数,你会的到0. 为什么呢? 这是因为,当 ...
- Js中获取显示器、浏览器以及窗口等的宽度与高度的方法
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...
- HackThirteen 在onCreate()方法中获取View的宽度和高度
1.概要: Android源代码中很多模块都使用了post()方法,深入理解框架曾运行机制对于避开类似于本例中的小陷阱是很重要的 2.问题提出: 如果开发一些依赖于UI控件的宽和高的功 ...
- 在js中获取上传图片的宽度和高度
Html: <input type="file" id="MapUploadTd" onchange="getMapPictureSize(th ...
- js各种获取当前窗口页面宽度、高度的方法
alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height()); //浏览器时下窗口文档的高度 alert($(docum ...
- WPF: 共享Grid宽度或高度的方法
需要两个属性: 1. Grid.IsSharedSizeScope="True" 2. SharedSizeGroup=名称 <StackPanel Margin=" ...
随机推荐
- JAVA B/S系统实现客户端屏幕截图,Java版的QQ截图
简介:本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏.Java实现QQ ...
- linux crontab 文件位置和日志位置
一.文件位置 位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失: 二.日志文件位置 默认情况下,cron ...
- LeetCode:Combination Sum I II
Combination Sum Given a set of candidate numbers (C) and a target number (T), find all unique combin ...
- jquery easyui 插件开发
(function($) { /** * 插件定义 */ $.fn.resquery = function(options, param) { if (typeof options == " ...
- [CoreOS 转载] CoreOS实践指南(四):集群的指挥所Fleet
转载:http://www.csdn.net/article/2015-01-14/2823554/2 摘要:CoreOS是采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件 ...
- 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...
- T 泛型转换
T为左值 result = (T)Convert.ChangeType(o,typeof(T));
- 深入剖析 redis 事件驱动
概述 redis 内部有一个小型的事件驱动,它和 libevent 网络库的事件驱动一样,都是依托 I/O 多路复用技术支撑起来的. 利用 I/O 多路复用技术,监听感兴趣的文件 I/O 事件,例如读 ...
- 可能 delphi7 下稳定的最后一版本 GDIPLUS
可能 delphi7 下稳定的最后一版本 GDIPLUS 万一的 blog 说"终于, Delphi XE2 携带 GDI+ 库了 使用了较早的 http://www.progdigy.co ...
- ecshop退出登录会清空购物车的bug优化,最完美解决方法
ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题. 网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途! 总结网上方法如下: 1.修改init.php,把s ...