ios动态获取UILabel的高度和宽度

转载 2015年11月19日 14:41:59

在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。

1.获取宽度,获取字符串不折行单行显示时所需要的长度 

CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];

注:如果想得到宽度的话,size的width应该设为MAXFLOAT。


2.获取高度,获取字符串在指定的size内(宽度超过label的宽度则换行)所需的实际高度.

CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

注:如果想得到高度的话,size的height应该设为MAXFLOAT。


3.实际编程时,有时需要计算一段文字最后一个字符的位置,并在其后添加图片或其他控件(如info图标),下面代码为计算label中最后一个字符后面一位的位置的方法。

CGSize sz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 40)];

CGSize linesSz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

if(sz.width <= linesSz.width) //判断是否折行

{

        lastPoint = CGPointMake(label.frame.origin.x + sz.width, label.frame.origin.y);  

}

else  

{  

        lastPoint = CGPointMake(label.frame.origin.x + (int)sz.width % (int)linesSz.width,linesSz.height - sz.height);  

UILabel动态计算宽高度

动态计算宽时, CGSize size  = CGSizeMake(1000000000000.0,height)的高度固定宽写无穷大;同理动态计算高度CGSize size  = CGSizeMa...
  • chenyongkai1
  • chenyongkai1
  • 2016年11月02日 12:22
  • 642

iOS - 固定宽度和字号,获取Label的frame;固定高度和字号,获取Label的frame

固定宽度和字号,获取Label的frame;固定高度和字号,获取Label的frame。
  • qq_27364431
  • qq_27364431
  • 2016年01月22日 13:06
  • 1719

动态计算UILabel的高度,宽度,自动换行

// // ViewController.m // Company_Code_动态计算字体高度和宽度 // // Created by 麦子 on 15/8/17. // Copyright ...
  • qiuyinthree
  • qiuyinthree
  • 2015年08月17日 21:52
  • 1273

iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧

iOS开发 动态计算cell的高度 UILabel动态多行显示
  • wangyan214
  • wangyan214
  • 2016年08月04日 10:02
  • 1040

iOS 动态设置UILabel的frame(宽度和高度)

CGSize labelSize=[self.myDetailLabel.text boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bo...
  • darongzi1314
  • darongzi1314
  • 2015年02月03日 18:06
  • 2027

iOS动态修改UILabel的宽度

sizeWithFont在ios7.0之后失效 cell.myCourse.text=cell_info.course; cell.myCourse.font=FONT; ...
  • darongzi1314
  • darongzi1314
  • 2015年02月03日 18:03
  • 1036

ios 动态计算文本的高度或宽度

在ios7及以后,使用 boundingRectWithSize.....这个函数计算某一属性固定,其高度或宽度的大小。 NSMutableParagraphStyle *paragraph...
  • luoye2486
  • luoye2486
  • 2015年09月12日 11:28
  • 678

Swift 学习笔记,UILabel自适应高度宽度

下面是我用swift写的UILabel自适应希望对大家有所帮助,如果有什么不对的地方也希望大家多多指点。。。不废话 直接上代码var label:UILabel!//定义变量 下面是对UILabel...
  • u012661893
  • u012661893
  • 2015年07月02日 14:05
  • 6397

IOS计算UILabel单行高度、计算UILabel多行文本高度、宽度的技巧,根据文本的高度设置cell高度

首先来看单行文本的问题:对于单行文本来说,计算CGSize就比较简单了,这里直接上代码了,如下: NSString *content = @"欢迎来到北京"; CGSize size =[cont...
  • www9500net_
  • www9500net_
  • 2016年08月04日 17:42
  • 4833

iOS中UILabel宽度的自适应 (storyboard/xib)

声明:博主只是iOS新手,写博客只是为了方便以后查找学习,有错误的地方敬请谅解最近在模仿一个APP的适合,一直无法在将两个Label的在文字显示完全的情况下,将两个Label的间距固定没在这个过程中出...
  • wh_long
  • wh_long
  • 2016年09月07日 01:00
  • 2341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios动态获取UILabel的高度和宽度
举报原因:
原因补充:

(最多只允许输入30个字)