在使用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);
}
分享到:
相关推荐
swift学习控件篇:UIButton+UILabel
UIlabel根据文本、字体获得label宽度;自适应宽高
可以根据需要不同来选择使用高度自适应和宽度自适应.
利用UISrollView+UILabel 的方法实现表格的制作,实现的功能有: 1)以表格单元的形式显示数据; 2)可以左右、上下滑动表格。 适合IOS初学者。
UIlabel根据文本、字体获得label宽度;自适应宽高
微信评论点击确定所点击的用户,获取UIlabel点击处的文字
简介 UILabel类实现了一个只读文本视图。您可以使用这个类来画一个或多个行静态文本,比如你可能使用确定的其他部分的用户界面。...有时我们需要根据UILabel内部的字体格式(包括字体大小,行间距)来动态调整
UILabel-AttributedText 这是UILabel用来解决有关特殊字符的问题的解决方案类别。
前言 本文主要给大家介绍了关于ios自动获取label高度、宽度及最后一个位置的相关内容,分享出来供大家参考...二、获取高度,获取字符串在指定的size内(宽度超过label的宽度则换行)所需的实际高度. CGSize titleSize =
ZHAutoLinesLabel 是 UILabel 的子类,支持 contentInset 和自动多行 为什么我创建这个标签 对于自动首选MaxLayoutWidth 我喜欢自动布局,对于标签,我这样做: self.setContentCompressionResistancePriority...
分配给UILabel,Swift的属性文本。 预习 使用NSMutableAttributedString在文本中添加多种样式,例如前景色,背景色,描边颜色,阴影。
选择文本映射器应该如何工作的少数方法之一mapTextAndMakeAllTappable或mapTextWithTappableRanges 当您想获取单词时调用textForPoint方法。 mapTextAndMakeAllTappable方法使所有文本均可点击。 ...
github地址:https://github.com/fengzhihao123/UI-Swift 如果帮助到了大家,还望点个star和fork
您可以动态更改所有新属性。 安装 您只需将 LxLabel.h 和 LxLabel.m 拖到您的项目中。 支持 最低支持 iOS 版本:iOS 6.0 LxLabel * label = [[LxLabel alloc]initWithFrame:CGRectMake(20, 120, 200, 300)]; ...
uilabel的内容的颜色处理
UILabel、UILabel基本用法、UILabel详解,UILabel常用方法
UILabel 继承于 UIView 里的各种属性和方法使用
UILabel+双指缩放 UILabel 的简单缩放类别。 这显然受到启发,他是该类别的真正作者。 我只是做了一些调整,让它在 UILabel 上工作,还有一个示例程序来展示它如何使用故事板来实现 安装 可可豆 与安装通过添加...
UILabel的子类使人联想到和以前的MS-DOS。 安装 手册(阅读:简单) 您可以简单地将DossyText.swift文件添加到您的项目中 CocoaPods(阅读:过度杀伤) 您可以使用安装DossyText将其添加到您的Podfile : pod '...