UILabel显示定时器文本跳动问题的解决方法
先看一个有问题的展示效果:
上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题。目前大多数用来实现定时器显示的控件都是UILabel。
在iOS9以前系统默认的英文字体是Helvetica, 这种字体每个数字的宽度都是相等的。而在iOS9以后默认的英文字体变为San Fransico字体,这种字体每个数字的宽度是不相等的。
正是因为数字宽度的不相等就导致了用UILabel来显示定时器文本时出现文字跳动闪烁的问题。 因此解决的方案就是选用一种等宽数字字体显示即可。为此有两个解决方案:
用Helvetica字体代码默认字体。
UILabel *label = [UILabel new]; label.font = [UIFont fontWithName:@"Helvetica" size:16];
用UIFont的新API: + (UIFont *)monospacedSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight;
UILabel *label = [UILabel new]; //记得这个API是iOS9以后才有效!!! label.font = [UIFont monospacedSystemFontOfSize:16 weight:UIFontWeightRegular];
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
相关推荐
-
iOS开发中使用UILabel设置字体的相关技巧小结
一.初始化 复制代码 代码如下: UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)]; [self.view addSubview:myLabel]; 二.设置文字 1.设置默认文本 复制代码 代码如下: NSString *text = @"标签文本"; myLabel.text = text; 效果: 2.设置标签文本(此属性是iOS6.0之后才出现,如若不是必要,不
-
iOS应用中UILabel文字显示效果的常用设置总结
创建UIlabel对象 复制代码 代码如下: UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds]; 设置显示文本 复制代码 代码如下: label.text = @"This is a UILabel Demo,"; 设置文本字体 复制代码 代码如下: label.font = [UIFont fontWithName:@"Arial" size:35]; 设置文本颜色 复制代码 代码如
-
iOS中UILabel设置居上对齐、居中对齐、居下对齐及文字置顶显示
iOS中UILabel设置居上对齐.居中对齐.居下对齐 在iOS中默认的UILabel中的文字在竖直方向上只能居中对齐,博主参考国外网站,从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐. 具体如下: // // myUILabel.h // // // Created by yexiaozi_007 on 3/4/13. // Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import <UIKit/UIK
-
iOS App开发中修改UILabel默认字体的方法
在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换.乍看起来,这个问题确实十分棘手,首先项目比较大,一个一个设置所有使用到的label的font工作量是巨大的,并且在许多动态展示的界面中,可能会漏掉一些label,产生bug.其次,项目中的label来源并不唯一,有用代码创建的,有xib和storyBoard中的,这也将浪费很大的精力.这种情况下,我们可能会有下面两种处理方式. 一.普通方
-
iOS长按UIlabel实现可复制功能
前言 相信大家都知道在iOS中有三个控件自身是支持拷贝,粘贴的,如:UITextField,UITextView,UIWebView.但是,有时候我们会遇到需要长按UIlabel,弹出"复制"item,来实现可复制.那该怎么办呢?下面就来一起看看吧. 首先UIKit中提供给我们几个类 在开始之前,我们需要自定义一个WINCopyLabel继承UILable - (instancetype)initWithFrame:(CGRect)frame { if (self = [super i
-
iOS开发笔记--详解UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard中生成实现,如果想要在-(void)viewDidLoad中用代码如[_label initWithFrame:CGRectMake(X,Y,WIDTH,HEIGHT)]方法改变拖拽到storyboard的label的大小是行不通的,因为程序加载时先执行了-(void)viewDidLoad的代码,
-
iOS 设置UILabel的行间距并自适应高度的方法
实例如下: NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel alloc] init]; //设置背景颜色 tempLabel.backgroundColor = [UIColor redColor]; //设置内容 tempLabel.text = contentStr; //设置字体颜色 tempLabel.textColor = [UIColor wh
-
iOS UILabel 设置内容的间距及高度的计算示例
前言 UILabel 是的使用频率是非常频繁,当文字较多的时候,会显得密密麻麻的,不利于UI显示及用户观看.通常我们需要对 Label 中"行间距"或"文字间距"进行调整,从而使文字没那么紧密,提高用户体验. 当调整"行间距"或"字间距"后,很多时候需要对Label进行高度自适应,此时会出现高度计算错误的问题,所以我们需要对"富文字"高度进行计算.计算结束后,经测试发现:当文字为1行并且全部文字为"
-
UILabel显示定时器文本跳动问题的解决方法
先看一个有问题的展示效果: 上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题.目前大多数用来实现定时器显示的控件都是UILabel. 在iOS9以前系统默认的英文字体是Helvetica, 这种字体每个数字的宽度都是相等的.而在iOS9以后默认的英文字体变为San Fransico字体,这种字体每个数字的宽度是不相等的. 正是因为数字宽度的不相等就导致了用UILabel来显示定时器文本时出现文字跳动闪烁的问题. 因此解决的方案就是选用一种等宽数字字体显示即可.为此有两个解决方案: 用H
-
idea导入项目不显示maven侧边栏的问题及解决方法
idea导入新项目找不到maven侧边栏,如何解决? 双击shift打开搜索框 输入maven搜索 点击 [+ Add Maven Projects]选择pom.xml 然后maven侧边栏就出来啦 .... ps:下面看下idea中使用git只add部分module的更新 在微服务项目的开发过程中,有很多module对应不同的微服务.有些微服务是我们负责的,有些则是其他人负责的.有时候,可能会不小心或格式化一些其他module的代码,但又不想上传,此时,要么将对应的代码恢复原样,要么就在add
-
水晶报表图片不显示两种问题分析及解决方法
水晶报表布置后里面的图片不显示的情况,分两种: 一是:水晶报表工具栏上的图片不显示: 二是:水晶报表中的的图片对象不显示: 针对第一种情况的解决方法: 对于工具栏上的图片不显示是由于发布的服务器上,水晶报表所需要的站点相关图片样式 没有找到. 在水晶报表图片不显示的页面上,看页面的源代码.可在<head></head>之间找到 复制代码 代码如下: </head> <link href="/aspnet_client/System_Web/2_0_507
-
json显示日期带T问题的解决方法
刚才显示数据的时候遇到一个日期里面带T的问题,就是天数跟小时数之间出现了一个T. 表字段里面也没有这个T,后来查询度娘,是因为json处理的时候没有格式化. 解决方法: 复制代码 代码如下: @JSON(format="yyyy-MM-dd HH:mm:ss")//加上这句处理页面显示时带T的问题. public java.util.Date getOlOperationDate() { return olOperationDate; }
-
IDEA中application.properties的图标显示不正常的问题及解决方法
application.properties的图标显示不正常 同理IDEA中其他文件的图标显示不正常的原因也可以借鉴此篇的处理方法. 问题描述: 如下图所示:springboot项目的资源文件application.properties图标不正常,这个文件就失效了 这是因为手贱点错什么才导致application.properties文件显示不正常,还好是小问题. 解决方法: 这是因为在setting中file types的设置有问题 第一就是你这个application.properties文
-
utf-8 网页不显示+utf-8网页乱码的通用解决方法
在windows操作系统上使用IE作为浏览器时.常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定"自动选择"编码格式时)该页面所用的编码.即使网页已经声明过编码格式: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 由此造成某些含有中文UTF-8编码的页面产生空白输出. 如果使用的是Mozilla.Mozi
-
报错:XML页无法显示,下列标记没有被关闭解决方法
从数据库读出数据,然后以XML的格式显示数据,但是提示hd,category,subsort等没有关闭,可是我已经关闭了呀,不知道具体是什么原因造成了这个问题? VB code: 复制代码 代码如下: <% response.ContentType= "text/xml" Response.CharSet = "GB2312" Response.Expires = 0 Response.write "<?xml version="&q
-
flex不显示GIF图片问题的另类解决方法
让Flex显示动态图片的确令人头痛,不过,我们可以用一些手段让其乖乖显示出来.如下: 1.先到http://code.google.com/p/as3gif/此处下载GIFPlayer0.4.zip ,将里面的org文件夹复制出来.并放到我们的要用到的工程的src文件夹下. 2.示例代码如下,可以参考着看,代码比较简单,就不解释了.
-
C#中label内容显示不全、不完整的解决方法
c# label的内容显示不全,需要设置如下属性即可: 1.将Lable的font属性的字体改成宋体: 2.将AutoSize属性改成true:
-
PHP 验证码不显示只有一个小红叉的解决方法
最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误: (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=php_gd2.dll 打开?去掉前面分号重启apache,就OK了 ,万事大吉了. 希望各位朋友遇到这样的问题的时候,能给与帮助
随机推荐
- 详解JSONObject和JSONArray区别及基本用法
- AngularJS中关于ng-class指令的几种实现方式详解
- mybatis调用存储过程的实例代码
- Rails link_to 详解
- java中循环遍历删除List和Set集合中元素的方法(推荐)
- JavaScript的各种常见函数定义方法
- jquery获取URL中参数解决中文乱码问题的两种方法
- WPF实现带全选复选框的列表控件
- 一个简答的Access下的分页asp.net代码
- PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
- 每个程序员都需要学习 JavaScript 的7个理由小结
- MySQL 压缩的使用场景和解决方案
- Python中super的用法实例
- SqlDateTime溢出该怎么解决
- 利用jQuery实现一个简单的表格上下翻页效果
- Java的方法重载与变量作用域简介
- android Bitmap圆角与倒影的具体实现代码
- xDSL技术及其应用
- 彻底揭秘keep-alive原理(小结)
- pandas DataFrame行或列的删除方法的实现示例