获得在指定Size范围内完全显示指定文字的最大字体的辅助函数
来源:互联网 发布:游戏本 知乎 编辑:程序博客网 时间:2024/06/05 08:16
获得在指定Size范围内完全显示指定文字的最大字体的辅助函数
函数定义如下:
-(int) getFontSizeForString:(std::string)strText maxFontSize:(int)maxfontsize forSize:(CGSize)size;
参数 strText是要显示的文本内容,maxfontsize是指定一个最初的想要的字体字号。size是需要显示文本的区域范围。返回值为最合适的字体号。如果maxfontsize字号在指定的size范围内不能完全显示这些指定的文字,辅助函数就会测试比这个更小一号的字体,直到找到能够显示所有文字的字体为止。
辅助函数默认字体为Helvetica字体,其实可以改进下,将字体也做为一个参数来指定,就不修改了,懒得动了。
函数实现如下:
-(int) getFontSizeForString:(std::string)strText maxFontSize:(int)maxfontsize forSize:(CGSize)size{ int fontSize=maxfontsize; bool bContinue=true; while (bContinue && fontSize>0) { CGSize showTipsSize; UIFont *newfont= [UIFont fontWithName:@"Helvetica" size:fontSize]; NSString * nsText=[NSString stringWithCString:strText.c_str() encoding:NSUTF8StringEncoding]; CGSize originSize; originSize.height=size.height; originSize.width=10000; showTipsSize = [nsText sizeWithFont:newfont constrainedToSize:originSize lineBreakMode: UILineBreakModeWordWrap]; if (showTipsSize.width+5<=size.width) { bContinue=false; } else { fontSize=fontSize-1; } } return fontSize;}
- 获得在指定Size范围内完全显示指定文字的最大字体的辅助函数
- 计算以指定字体和字号输出指定文字,所需要的size 辅助函数
- 显示字数在指定的范围内,多出来以....显示
- 获得指定范围内的随机值
- 获得指定范围内的随机值
- OpenGL显示文字--指定字体
- 指定范围内获取递增数列的函数
- iOS 获得指定范围内的屏幕图像(截屏)
- 取指定范围内的字符串
- 产生指定范围内的随机数
- 输出指定范围内的素数
- 输出指定范围内的阿姆斯特朗数
- 生成指定范围内的随机数
- 产生指定范围内的随机数
- ios 指定范围内的随机数
- 生成指定范围内的随机数
- 字符串在指定区域内按照指定的字体显示时,需要的高度和宽度
- 巧用DISPLAY_AWR函数与dba_hist_sqlstat结合查询SQL语句在指定节点指定时间范围内的历史执行计划
- 专家:数据业务激增带来挑战 三策略破解流量困局
- 一个脑残壳的框架设计与实现
- 【xenclient】 使用小结 -- 虚拟机安装管理小技巧
- JCcreator 4.5 注册码
- tomcat启动报错:java.net.BindException: Address already in use: JVM_Bind<null>:8080
- 获得在指定Size范围内完全显示指定文字的最大字体的辅助函数
- Porting U-boot for SPEAr310(arm926) --- 4
- 在Linux下对TCP/IP协议栈的分析的代码验证
- 论文deadline。。。
- 2011 wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍
- 从研发到网优
- ASP.NET (C#版)如何将文件上传至数据库(源代码)
- 重复性服务器客户机编程
- 智能车笔记3 外部中断