NSString * myText = [NSString stringWithString:@"some text"];
//获取到文本大大小
CGFloat constrainedSize = 265.0f; //其他大小也行
UIFont * myFont = [UIFont fontWithName:@"Arial" size:19]; // UILabel使用的字体
CGSize textSize = [myText sizeWithFont: myFont
                       constrainedToSize:CGSizeMake(constrainedSize, CGFLOAT_MAX)

lineBreakMode:UILineBreakModeWordWrap];

textSize.width

textSize.height

即为UILable的宽和高,

CGRect labelFrame = CGRectMake (0, 0, textSize.width, textSize.height);
UILabel *label = [[UILabel alloc] initWithFrame:labelFrame];

//

UILineBreakModeWordWrap = 0,
   以单词为单位换行,以单位为单位截断。
   UILineBreakModeCharacterWrap,
   以字符为单位换行,以字符为单位截断。
   UILineBreakModeClip,
   以单词为单位换行。以字符为单位截断。
   UILineBreakModeHeadTruncation,
   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
   UILineBreakModeTailTruncation,
   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
   UILineBreakModeMiddleTruncation,
   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。

//

// Single line, no wrapping. Truncation based on the UILineBreakMode.
- (CGSize)sizeWithFont:(UIFont *)font; // Uses UILineBreakModeWordWrap
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;

// Single line, no wrapping. Truncation based on the UILineBreakMode.
- (CGSize)drawAtPoint:(CGPoint)point withFont:(UIFont *)font; // Uses UILineBreakModeWordWrap
- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font lineBreakMode:(UILineBreakMode)lineBreakMode;

// Wrapping to fit horizontal and vertical size. Text will be wrapped and truncated using the UILineBreakMode. If the height is less than a line of text, it may return
// a vertical size that is bigger than the one passed in.
// If you size your text using the constrainedToSize: methods below, you should draw the text using the drawInRect: methods using the same line break mode for consistency
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size; // Uses UILineBreakModeWordWrap
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode; // UITextAlignment is not needed to determine size

// Wrapping to fit horizontal and vertical size.
- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font; // Uses UILineBreakModeWordWrap and UITextAlignmentLeft
- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(UILineBreakMode)lineBreakMode; // Uses UITextAlignmentLeft
- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(UILineBreakMode)lineBreakMode alignment:(UITextAlignment)alignment;

// These methods will behave identically to the above single line methods if the string will fit in the specified width in the specified font.
// If not, the font size will be reduced until either the string fits or the minimum font size is reached.  If the minimum font
// size is reached and the string still won't fit, the string will be truncated and drawn at the minimum font size.
// The first two methods are used together, and the actualFontSize returned in the sizeWithFont method should be passed to the drawAtPoint method.
// The last method will do the sizing calculation and drawing in one operation.
- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;

- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize lineBreakMode:(UILineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment; // default is UIBaselineAdjustmentAlignBaselines

- (CGSize)drawAtPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize lineBreakMode:(UILineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment; // default is UIBaselineAdjustmentAlignBaselines

转载于:https://blog.51cto.com/3426724/838541

绘画 某种字体 以某种折行规则 最后画出的text有多大相关推荐

  1. 绘画机器人,用笔帮你画出一个新世界

    这款可编译的小型绘画机器人,可以帮你在纸上画出你的艺术作品. 对于现在的设计师来说,使用数字画布进行绘画已经成为一种习惯,尤其是在Adobe以及Wacom这些公司的软件配合下.不过,最近有一种新的微型 ...

  2. 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半

    代码 import org.w3c.dom.ls.LSOutput;/*在画图软件中,可以画出不同大小或颜色的圆形.矩形等几何图形.几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是 ...

  3. cufon,在网页上画出特殊字体

    为什么80%的码农都做不了架构师?>>>    设计师们有时会使用特殊字体让网页更好看,但浏览器通常只支持Arial.Helvetica等通用字体.那么通常的解决办法就是将特殊字体做 ...

  4. 绘画教程:男生和女生的脖子怎么画?如何画喉结?

    男生的脖子怎么画?女生的脖子怎么画?男生的头部怎么画?喉结怎么画?学习绘画难吗?怎样才能学好绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不知道如何才能学习好绘画,然后绘画出自己想要绘画的东西, ...

  5. 绘画教程:伤口疤痕应该怎么画?如何画出皮肤质感?

    疤痕怎么画?伤口怎么画?伤疤怎么画?皮肤的质感怎么画?绘画初学者应该如何练习?学习绘画难吗?怎样才能学好绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不知道如何才能学习好绘画,然后绘画出自己想要 ...

  6. php 字体好看点,字丑不用怕,带你轻松画出好看字体!

    Hi,我是秋小叶~ 在电子设备发达的今天,越来越少的人拿起笔写字.写字好看也成为了一项加分的技能,每每看到好看的字总是让人羡慕不已~ 而写字不好看的人,连自己都不愿意看到自己的字,也不喜欢记录,因此错 ...

  7. html 怎么显示co2字体,如何通过CAD画出二氧化碳的化学符号,看完你就知道了

    当我们通过CAD软件画出图形后,有时候需要在图形中标注出二氧化碳的化学符号,这个该怎么操作呢?下面就跟大家分享一下通过CAD软件画出二氧化碳化学符号的方法,希望能帮助到大家. 工具/材料 电脑CAD软 ...

  8. 绘画教程:如何绘画树木?插画中的树木应该怎么画?

    树木应该怎么画?绘画初学者如何学习插画?萌新小白应该如何练习提升?森林怎么画?树枝怎么画?学习绘画难吗?怎样才能学好绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不知道如何才能绘画好树木,然后画 ...

  9. 腹肌怎么画出三维效果?零基础绘画入门教程

    腹肌怎么画出三维效果?怎样才能把腹肌画出三维效果?想画把腹肌画出三维效果教程有哪些?想必这些问题都是初学者比较伤脑筋的问题,那么初学者到底怎样才能把腹肌画出三维效果像呢?今天小编就在网络上收集整理了关 ...

最新文章

  1. spark 类标签的稀疏 特征向量
  2. ASP.NET----验证码类
  3. jqgrid mvc_jqGrid,REST,AJAX和Spring MVC集成
  4. android服务器 性能,Android性能优化(中)
  5. 记得收藏这12个爆款 Java 开源项目!【附源码】
  6. Linux守护进程(init.d和xinetd)
  7. 维纳滤波python 函数_Python中离焦图像的维纳滤波
  8. 武汉大学计算机学院成绩单,2018年武汉大学各学院总评成绩计算公式汇总
  9. Git恢复被删除的文件
  10. 【技巧】Unity 获取Android设备系统语言
  11. [VN2020 公开赛]simpleHeap-记录一次gef调试过程
  12. 缓存微信accesstoken实现
  13. gnu radio学习(二)Stream Tags流标签详解
  14. 独家 | 首个5G远程手术成功,一文了解5G应用方向
  15. 两台电脑之间怎么互相传文件?
  16. 《网络安全工程师笔记》 第十二章:域
  17. 年终盘点:管理之星物资检斤管理系统
  18. 项目中使用ecTable的代码
  19. 吉他调音器的使用方法(一分钟学会)
  20. 【每日一练】146—一个漂亮的旅游网站模板

热门文章

  1. dos启动盘访问硬盘
  2. nginx修改默认运行80端口的方法
  3. alphogo 理解
  4. Linux实用命令总结
  5. 习题:统计字符串中的单词个数
  6. 分享一个帮助用户全屏阅读的jQuery插件 - jQuery fullscreen
  7. emwin之在中断服务程序中创建窗口的结果
  8. Scala 隐式(implicit)详解
  9. 面向对象 - 1.面向过程/2.面向对象/3.如何使用类/4.__init__方法/5.属性查找/6.补充知识/7.可扩展性高...
  10. 九阴真经 第二层 第9天