2019独角兽企业重金招聘Python工程师标准>>>

转载自:http://blog.sojingle.net/

最近在Cocoa学习中遇到一个小问题,就是在一个特定宽度的框中显示几个文字,需要根据宽度来计算字体的大小。后找到方法如下:

NSString有这样一个方法

sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

Returns the size of the string if it were rendered with the specified constraints, including a variable font size, on a single line.

原型为:

1
2
3
4
5
- (CGSize)sizeWithFont:(UIFont *)font
minFontSize:(CGFloat)minFontSize
actualFontSize:(CGFloat *)actualFontSize
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode

使用时,font指定字体和最大字体大小,minFontSize指定最小字体,actualFontSize传递实际大小的引用。width指定总宽度,lineBreakMode指定换行模式。

示例:

1
2
3
4
5
6
7
8
CGFloat fontSize;
NSString *testString = @"All hail Sakuya!";
UIFont *font = [UIFont systemFontOfSize:500];
[testString sizeWithFont:font
minFontSize:10.0f
actualFontSize:&fontSize
forWidth:(self.bounds.size.width)
lineBreakMode:UILineBreakModeMiddleTruncation];

这段代码计算在一个UIView中显示一个字符串时要用的字体大小。方法的返回值这里没有用上,有用的是这个fontSize。

转载于:https://my.oschina.net/fadoudou/blog/670285

NSString字体大小计算方法相关推荐

  1. iOS 修改webView字体大小,设置宽度及缩放效果

    1.设置字体大小 -(void)webViewDidFinishLoad:(UIWebView *)webView {[webView stringByEvaluatingJavaScriptFrom ...

  2. iOS 富文本~设置字体大小和颜色

    //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一.富文本效果图: 图1: 二.富文本实现代码: //1.初始化UILabel UILabel *introLabel = [UILa ...

  3. [绍棠] iOS设置Label上显示不同字体大小和字体颜色

    一, 一个label上显示不同的字体大小 NSString *needText = @"个人消息(11)"; [topLabel setAttributedText:[self c ...

  4. pdfptable 设置行间距_[转载]CoreText 轻松设置字体大小,间距,行间距,段间距,算高度...

    #import "Myview.h" #import @implementation Myview -(void)dealloc { [_text release]; [super ...

  5. CoreText 轻松设置字体大小,间距,行间距,段间距,算高度

    [http://blog.sina.com.cn/s/blog_691a202f0101bq6q.html] 下面主要讲,如何设置字体,间距,并计算(带特定段间距,行间距,字间距,字大小)文字的高度. ...

  6. UISlider+UILable 实现对字体大小的设置

    今天主要是实现了类似于iPhone设置页面的文字字体设置,具体效果如下:      点击第一个页面的cell会跳转到字体大小详情设置页面.在字体大小详情设置页面,拖动UISlider滑动条可以改变上方 ...

  7. 动态计算字符串的字体大小并据此设置行间距---NSAttributedString

    #pragma mark-计算字符串的字体大小并据此设置行间距 + (NSMutableAttributedString *)caculateLabelHeightWithMutableAttribu ...

  8. IPython 更改默认字体大小

    安装 IPython 之后发现默认的字体太小,不方便使用,故用以下方法进行修改默认字体大小. 默认的字体如下图所示: 修改方法 在命令行输入 ipython profile create 找到 ipy ...

  9. linux终端字体大小6,[adminitrative][archlinux][setfont] 设置console的字体大小

    电脑的分辨率高了之后,用命令行进入的时候,完全看不清楚,是否容易导致眼瞎. 第一步便把字体调大就成了很必要的操作. 使用一个命令能马上生效: setfont 使用配置文件 /etc/vconsole. ...

最新文章

  1. 程序员缺乏经验的 7 种表现!
  2. SQLserver2008数据表的修改操作
  3. ipa去除时间锁_【解密了!】影响沸石分子筛转轮去除效率的因素
  4. python实现自动工作_python实现串口自动触发工作的示例
  5. 常用的几个JQuery代码片段
  6. java常用算法整理
  7. IDEA最全手把手安装教程 安装+字体大小类型,主题颜色设置+常用快捷键设置优化|详细
  8. flutter 一键生成安卓和ios应用图标
  9. C语言阶梯电费函数,用阶梯电价计算逻辑学习销售人员阶梯提成计算函数
  10. PHP框架高级编程——应用Symfony、CakePHP
  11. 演讲稿:遇见下班加油站,开启改变之路(不喜者勿入)
  12. 运营方法论——增长黑客
  13. 高防CDN是什么?有什么作用?
  14. FreeRtos(1)-----任务创建与管理
  15. 一位优秀前端工程师的简历应该怎么写?
  16. 【MapBox实战】生成地图+绘制区域+纠偏
  17. 一些不错的文档网址--笔记【原创】
  18. Mysql统计近30天的数据,无数据的填充0
  19. python agg函数_python – 将百分位数传递给pandas agg函数
  20. 教你如何升级app适配iOS 7

热门文章

  1. 基于JWT(Json Web Token)的ASP.NET Web API授权方式
  2. Quartz的Scheduler初始化源码分析
  3. 两句话动态修改table数据并提交到后台
  4. 行走智慧城市 数据要有统一“身份”
  5. asp.net MVC中实现调取web api
  6. 深入理解JavaScript类数组
  7. SGU 224.Little Queens
  8. CSS那些事笔记(一入门)
  9. ucache来广营(望京)机房
  10. vue-cli3集成typescript,sass variables,多页打包