首先,有各种版本

方法一:

我运用的一种极其简单的版本:  将UIButton的Type 设成 Custom 就不会有闪烁的问题重现

@property (strong, nonatomic) IBOutlet UIButton *getCodeBtn;

@property (nonatomic, strong) NSTimer *timerCode; //验证码定时器

__block  int leftTime;

- (void)dealloc {

if ([_timerCode isValid]) {

[_timerCode invalidate];

_timerCode = nil;

}

}

#pragma mark - 验证码

//重新发送验证码

- (IBAction)resendCodeBtnPressed:(UIButton *)sender {

//判断哪一个网络请求发送验证码

//...

sender.enabled = NO;

leftTime = 60;

[self startOneTimer];

//发送验证码请求

[self.viewModel requestWithSendCode:[kUSERDEFAULT objectForKey:_isResetPassword? kForgetMobile:kLoginMobile] block:^(BOOL flag) {

}];

}

/**

*  发送验证码之后等待若干时间

*/

- (void)startOneTimer {

_getCodeBtn.enabled = NO;

leftTime = 60;

_timerCode = [NSTimer  scheduledTimerWithTimeInterval:1 block:^{

if (leftTime == 0) {

_getCodeBtn.enabled = YES;

[_getCodeBtn setTitle:@"重新发送" forState:UIControlStateNormal];

[_getCodeBtn setTitleColor:fcc639 forState:UIControlStateNormal];

//计时完成,销毁定时器

[_timerCode invalidate];

_timerCode = nil;

leftTime = 60;

return ;

}

leftTime--;

[_getCodeBtn setTitle:[NSString stringWithFormat:@"%i秒后重发", leftTime] forState:UIControlStateNormal];

[_getCodeBtn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];

} repeats:YES];

}

方法二: 就是在UIButton上罩一个同样大小的UILabel,然后每次刷新UILabel的文字,不刷新按钮,效果不错,不再闪烁了

链接 :http://blog.csdn.net/kyfxbl/article/details/17619221

方法三:https://www.cnblogs.com/manji/p/4813520.html

补充: 我的方法中运用了 防止timer没有被销毁掉的timerBlocks 请自行查找

//  NSTimer+Blocks.h

//

//  Created by Jiva DeVoe on 1/14/11.

//  Copyright 2011 Random Ideas, LLC. All rights reserved.

验证码计时 -- UIButton setTitle 闪烁问题解决方案相关推荐

  1. 避免DateTimePicker闪烁的解决方案

    1. 在WinForm上放置一个TabControl,并设置其Dock属性为Fill. 2. 在其中的一个Tab页上放置一个DateTimePicker控件 你会发现,当你在XP系统下,Resize ...

  2. eclipse光标变成黑色闪烁方块解决方案

    写代码途中,好好的插入光标突然变成了黑色闪烁方块. 发现是误触了键盘中的Insert按键. 解决方案:只需按一下Insert按键就可以切换成插入光标状态. 经过实验发现,Insert状态下的输入会覆盖 ...

  3. 【AJ-Captcha 验证码】点选文字验证码部署到Linux服务器乱码解决方案

    基本信息 操作系统:Ubuntu 16 验证码框架:AJ-Captcha 验证码类型:点选文字 原因分析 将项目部署到Linux服务器上时,由于登录使用的是点选文字验证码,可能会导致以下情况: 原因: ...

  4. 虚拟机Ubuntu内鼠标闪烁终极解决方案

    话说这个问题很早就遇到了,最近才解决,不免唏嘘. 由于造成鼠标闪烁的原因有很多,鼠标闪烁的特点也有很多,因此网上也充斥着很多解决方案,这里一并做一下梳理,以节约各位看众时间. 1.通用解决方法 这个方 ...

  5. php 邮件发送验证码,发送验证码邮件有什么好的解决方案?

    用户Passport系统,注册,找回密码都是通过邮件发送验证码,有什么好的方案实现. 我之前用的是私人的QQ邮箱,发现偶尔系统会来一封邮件要我输入验证码,而且就怕用多了会被腾讯拉黑或者自动移到垃圾箱处 ...

  6. 短信验证码接收不到原因和解决方案分析

    短信验证码是通过发送验证码到手机的一种有效的验证码系统.无论是大型网站尤其是购物网站,都提供有手机短信验证码功能,可以比较准确和安全地保证购物的安全性,验证用户的正确性. 创蓝253短信服务平台上总结 ...

  7. thinkphp5 验证码跨域/验证失败 问题解决方案

    说明 后端:thinkphp5 前端:vue 我做的是子域名跨域,不是主域名跨域. 例如: 前端:aa.xxx.com 后端:bb.xxx.com 如果是主域名跨域,我试过网上的方法,没成功,sess ...

  8. 验证码测试的解决方案

    验证码测试的解决方案 前几天一位新同事向我请教了一个问题,其问题的重点是图文验证码怎么去测试?当时由于时间关系,只是大致给他说了下测试框架,趁着闲暇时间的总结,也把解决方案分享给大家. 1 认识验证码 ...

  9. 计算机术语 抖动,解决方案:如果计算机屏幕闪烁和抖动,该怎么办

    如果计算机屏幕闪烁和抖动,该怎么办 对于经常使用计算机的朋友来说,监视器屏幕是每个人始终都必须面对的东西.电脑屏幕的闪烁或晃动会使您的眼睛快速疲劳并严重影响视力,因此建议您遇到电脑屏幕的闪烁或电脑屏幕 ...

  10. iOS多语言解决方案全面指南

    本文以及相关工具和代码旨在为已上线的iOS项目提供一种快速支持多语言的解决方案.由于文案显示是通过hook实现的,因此对App的性能有一定影响:除了特殊场景的文案显示需要手动支持外,其他任务均已实现自 ...

最新文章

  1. 近期活动盘点:2019清华大数据系统软件峰会(9.15)
  2. Html2excel 1.4.1 发布,Html 转 Excel 工具包
  3. DockPanel Suite 开源WINFORM 窗体停靠面板控件
  4. 京东刘海锋:过去十年架构领域最重要的三个变化
  5. 正式发布python版本的年份_飞书首次举办产品发布会,新版本“”正式发布
  6. mysqldump备份表中有大字段失败的排错过程
  7. nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
  8. 【R爬虫-1】BBC Learning English
  9. 用python计算有效前沿_15个好用到哭的python库,太牛了!
  10. 防范ARP网关欺骗, ip mac双向绑定脚本
  11. Unity3D for iOS初级教程:Part 3/3
  12. excel常用快捷键汇总
  13. 转行软件测试,简历怎么包装成1年工作经验的测试工程师
  14. mysql误删除恢复
  15. 详细设计的工具——盒图(N-S图)
  16. ROS创建工作空间和source的解释
  17. hive之内表和外表
  18. Java中为按钮添加监听器(事件处理)四种形式总结
  19. 蜂窝网通信平台建模说明
  20. 3GPP TS 23501-g51 中英文对照 | 5.3.1 General

热门文章

  1. 316.去除重复字母
  2. Computing the cost J(θ)----吴恩达机器学习作业
  3. JSP指令:page指令,errorPage和isErrorPage
  4. JavaWeb:tomcat知识以及遇到的一些小问题
  5. 凸优化第五章对偶 5.7例子
  6. openCV,C++接口,cv::Mat矩阵数据元素读取
  7. cookielib和urllib2模块相结合模拟网站登录
  8. mapreduce 的partitioner,GroupComparator,KeyComparator,分布式缓存使用示例
  9. OpenCV3.4.1 vs2015 自定义过程的图片拼接
  10. android 7.1 灭屏,oppocolorosv7.1怎么设置息屏时钟