通过计算的文本宽度,由于小数四舍五入引起的文字显示不全问题

简介: 通过计算的文本宽度,由于小数四舍五入引起的文字显示不全问题

通过计算的文本宽度,由于小数四舍五入引起的文字显示不全问题:

通过计算的文本宽度,若出现小数,而手机的屏幕有最低分辨率(BG_1PX (1.0f / [UIScreen mainScreen].scale)),标签的宽度只能大于文本实际的宽度才能正常显示,否则会出现显示不出来的问题。

解决办法是:发现计算的文本宽度带小数(小数点后全是零不算)就直接把计算出的宽度加1像素。

具体代码:

    NSDictionary *attributes = @{NSFontAttributeName :font};     //字体属性,设置字体的font
    CGSize maxSize = CGSizeMake(FULL_WIDTH, FULL_HEIGHT);     //设置字符串的宽高
    CGSize size = [maxTitle boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;
    CGFloat labelWidth = size.width;
    if((labelWidth != ((NSInteger)labelWidth)))
    {
        labelWidth = labelWidth + 0.5;
    }

出问题的运行数据如下:

出问题的效果如下

目录
相关文章
|
Linux 开发工具 C语言
C语言与图形编程进阶
C语言与图形编程进阶
|
存储 缓存 数据安全/隐私保护
【.NET Core】深入理解IO - FileSteam流
【.NET Core】深入理解IO - FileSteam流
264 2
|
XML Java 数据格式
Spring中Bean注入与获取几种方式详解
Spring中Bean注入与获取几种方式详解
847 0
|
JavaScript 前端开发 搜索推荐
ECharts词云图(案例一)+配置项详解
ECharts,百度的JavaScript图表库,支持词云图(自5.0版起),借助`echarts-wordcloud`插件。配置词云图涉及`tooltip`(如显示、颜色、边框等)和`series`(类型、形状、大小范围等)。示例代码展示了如何在HTML中引入依赖并配置词云图,包括数据、形状、大小、颜色等。完整代码和依赖可下载。调整这些配置可创建个性化词云图。参阅官方文档获取不同版本详情。
4109 4
 ECharts词云图(案例一)+配置项详解
|
JavaScript API 索引
js中的reduce()方法 讲解 和实现
`reduce()` 方法对数组元素依次应用一个回调函数,将结果累计并最终返回单一值。语法为 `reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)`。参数包括累计器(初次为初始值或首元素)、当前元素值、索引及数组自身。此方法需返回值供下一轮迭代使用。常见应用场景包括计算数组总和与平均值、统计元素频率、过滤与转换数组内容及去除重复项等。例如,可通过 `reduce()` 快速计算 `[1, 2, 3, 4, 5]` 的总和或对对象属性值求和。此外,还可自定义实现 `reduce()` 方法
4634 1
|
存储 安全
【汇编】在代码段使用数据,在代码段使用栈
【汇编】在代码段使用数据,在代码段使用栈
652 0
【汇编】在代码段使用数据,在代码段使用栈
|
图形学
【推荐100个unity插件之2】 DoTween动画插件的安装和使用整合(最全)
【推荐100个unity插件之2】 DoTween动画插件的安装和使用整合(最全)
1465 0
|
安全 搜索推荐 网络安全
面试题:什么是 Referer?
面试题:什么是 Referer?
296 0
|
存储 缓存 NoSQL
Redis是一种高性能的内存数据库,常用于高并发环境下的缓存解决方案
【6月更文挑战第18天】**Redis摘要:** 高性能内存数据库,擅长高并发缓存。数据存内存,访问迅速;支持字符串、列表等多元数据类型;具备持久化防止数据丢失;丰富命令集便于操作;通过节点集群实现数据分片与负载均衡,增强可用性和扩展性。理想的缓存解决方案。
219 1
下一篇
开通oss服务