iOS短信验证码倒计时Button的实现

从PRD逆向到可验收清单:金融App需求文档拆解实践 产品需求文档(PRD)是连接产品逻辑与工程实现的桥梁,金融类App因涉及用户资产与数据安全,其PRD往往包含更严格的校验规则和交互约束。通过逆向分析竞品PRD,可以快速提炼出用户成长体系、登录注册、账单数据流转等核心业务骨架。例如验证码限流机制需结合请求日志表设计,成长值应从流水表而非单一字段记录,全局toast、dialog等交互规则可直接转为测试断言。这些设计思路不仅适用于信用卡管理工具,也可泛化到电商、出行等需强账户体系的场景。掌握从PRD到测试清单的拆解方法,能帮助产品经理、测试与研发统一认知,减少 阅读详情
- (IBAction)sendEvent:(id)sender {
//倒计时时间
__block int timeout=30; 

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

//每秒执行
dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0);

dispatch_source_set_event_handler(_timer, ^{
if(timeout<=0){ 
//倒计时结束,关闭
dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
[_countdownButton setTitle:@"发送验证码" forState:UIControlStateNormal];

_countdownButton.backgroundColor = [UIColor orangeColor];
_countdownButton.userInteractionEnabled = YES;
});
}else{
//            int minutes = timeout / 60;

int seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"%.2d", seconds];

dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
NSLog(@"____%@",strTime);

[_countdownButton setTitle:[NSString stringWithFormat:@"%@",strTime] forState:UIControlStateNormal];

_countdownButton.backgroundColor = [UIColor grayColor];
_countdownButton.userInteractionEnabled = NO;
});
timeout--;
}
});
dispatch_resume(_timer);
}

关于SB界面我就不搭建了,简单一个Button就搞定了,简单的拖线!
如有不足还望指教,谢谢!

同城上门预约系统源码拆解:从派单逻辑到多端运营落地 同城生活服务O2O模式正深刻改变传统到店消费形态,以“线上下单、技师上门、平台抽佣”为代表的上门服务系统,本质是供需两端的信息匹配与信任背书。其背后依赖一套包含用户端、技师端、管理后台的多端协同架构,而派单引擎、LBS定位、消息推送与支付分账则构成核心技术底座。对于希望快速进入该领域的创业者而言,选择一套功能完整、业务逻辑成熟的运营版源码,能显著降低从零开发的试错成本。这类系统不仅适用于推拿美容,也可扩展至家政、维修、宠物服务等泛同城场景。本文从预约链路、技师接单调度、后台派单策略、小程序开发避坑等维度,拆 阅读详情

相关推荐

iOS获取短信验证码倒计时的两种实现方法

方法一: 网上用的很多的一种,不多说,直接上代码. -(void)startTime{ __block int timeout= 60; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue); dispatch_source_set_timer(_timer,di

ios开发,发验证码倒计时按钮的实现

#import "ViewController.h" #define SEC 60 @interface ViewController () {     UIButton *_verifyBtn;     UILabel  *_timeLab; } @end @implementation ViewController

innate 516

STM32F4三重ADC+DMA双缓冲实战:用CubeMX搞定同步采样,告别数据覆盖烦恼

本文详细介绍了STM32F4三重ADC与DMA双缓冲技术的实战应用,通过CubeMX配置实现同步采样,解决数据覆盖问题。内容涵盖硬件架构解析、CubeMX工程配置、双缓冲实现技巧及调试优化方法,适用于电机控制、电力监测等需要高精度多通道信号采集的场景。

weixin_30627341的博客 358

iOS开发中获取短信验证码倒计时按钮的实现

这个倒计时代码对于感兴趣的,没做过的可以看看,老油条们都有自己的积累,

qq_34874026的博客 5195

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 881

Windows 下安装 Hermes Agent 完整教程(含踩坑记录)

不支持原生 Windows,必须通过 WSL2 (Windows Subsystem for Linux 2) 运行。WSL2 是 Windows 内置的 Linux 兼容层,可以在 Windows 上运行完整的 Linux 环境。

weixin_50191542的博客 4280

发送验证码时设置UIButton的倒计时

#pragma mark -(void)getYZMAction: (id)sender{     ToastTool *tool = [ToastTool shareToastTool];     tool.message = @"验证码已发送!";     [tool show];         __block int timeout=60

dyj1987chen的专栏 872

1 FFmpeg从入门到精通-FFmpeg简介

1.FFmpeg简介 1.1 FFmpeg的定义 1.2 FFmpeg的历史 1.3 FFmpeg的基本组成 1.4 FFmpeg的编解码工具ffmpeg 1.5 FFmpeg的播放器ffplay 1.6 FFmpeg的多媒体分析器ffprobe 1.7 FFmpeg编译(1)FFmpeg之Windows平台编译(2)FFmpeg之Linux平台编译(3)FFmpeg之OS X平台编译 1.8 FFmpeg编码支持与定制(1)FFmpeg的编码器支持(2)FFmpe

migu123的专栏 3695

HTML:简单实现短信验证码的按钮界面显示

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var countdown=60...

龙雪的博客 6498

Supervisor 安装与使用

一、Supervisor 介绍 Supervisor 是一个用 Python 编写的进程管理工具,它可以用于监控和控制类 UNIX 操作系统上的多个进程。它是一个客户端/服务器系统,其中 Supervisor 的服务器端称为 supervisord,负责启动管理的子进程、响应客户端命令、重启崩溃或退出的子进程、记录子进程的 stdout 和 stderr 输出,以及处理子进程生命周期中的事件。客...

疯子丶pony的博客 3864

RedHat 9 替换yum源镜像

引言:我们个人通常使用的红帽系统yum源是需要注册付费的,所以在使用yum源安装一些软件时无法正常安装(例如:MySQL),这时我们就需要将yum源替换为CentOS对应的源,以实现在红帽系统中正常安装软件。

YUJIAOZHU666的博客 3739

iOS 短信验证码倒计时按钮的实现

实现思路创建按钮, 添加点击方法; 用NSTimer定时器, 每秒执行一次, 定时改变Button的title,改变Button的样式, 设置Button不可点击; 若倒计时结束, 定时器关闭, 并改变Button的样式, 可以点击。在app开发中经常会遇到,输入手机号获取验证码的功能,下面就和大家分享一下,获取验证码倒计时的功能实现 首先给大家看一下页面展示 声明属性 获取验证码的按钮属性

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 2077

【R语言-生存分析之观察生存率计算】

全人群肿瘤登记资料常用的统计分析指标包括发病率、死亡率、现患率以及生存率等,其中肿瘤生存率是评估肿瘤治疗效果和肿瘤负担的必要指标,其计算涉及肿瘤患者的发病、 死亡和随访三个方面的资料, 数据整理和计算过程均较为复杂, 如何及时、 准确地计算肿瘤生存率, 并使其可以在不同地区、 不同人群、不同时期间被客观公正地比较和评价,仍然是统计学家们一直在研究的主题。

weixin_46579654的博客 5441

IOS 广州首易短信验证码 post 请求及验证码button倒计时

广州首易短信验证码 参数说明: @required CorpID:企业ID LoginName:登录用户名 send_no:电话号码 msg:发送的消息 @optional Passwd:账号密码    -(void)sendPhoneMessage:(NSString *)phoneNumber{ NSString * URLString = @"h

水滴石穿 1213

PyTorch 面试题及详细答案120题(54-70)-- 模型训练与评估

本文介绍了PyTorch模型训练的基本流程和核心概念。主要内容包括: 模型训练基本流程:通过代码示例展示了数据准备、模型定义、损失函数和优化器选择、训练循环(前向传播、反向传播、参数更新)的完整过程,并包含验证集评估的实现。 训练过程中的关键概念: Epoch:完整遍历一次训练集 Batch:将数据分成小批次 Iteration:一个Batch的参数更新过程 三者关系:1 Epoch = N/B Batch = N/B Iteration(N为样本数,B为batch_size) PyTorch数据加载机制:

大剑师兰特的GIS世界 489

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

iOS开发造轮子 | 优雅的封装一个倒计时button

点击上方“iOS开发”,选择“置顶公众号”关键时刻,第一时间送达!目标封装一个满足基本功能并且方便使用的倒计时按钮,关键是:要优雅需要实现的基本功能以获取短信验证码为例。用户点击获取验证码按钮后,按钮enabled立即设置为NO,并且向后台发送请求,若请求失败,恢复按钮的enabled,反之开始倒计时,期间持续刷新按钮文本,倒计时结束后重置按钮。需要处理的几个点1.用户点击按钮此时按钮的enabl

iOS_开发 349

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

短信验证倒计时实现(转自http://blog.it985.com/13140.html)

第一步,拖两个空间textfiled和button到storyboard上的viewcontroller上。 第二步,拖线,链接到.h文件中代码如下: @property (weak, nonatomic) IBOutlet UIButton *l_timeButton; 第三步,在,m文件中为l_timeButton设置监听器,监听点击事件。 - (void)...

dnxgmdc058055的博客 141

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

发送短信验证码按钮的实现

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *label; @property (weak, nonatomic) IBOutlet UIButton *sendBtn;

baidu_25845567的博客 901

发送短信验证码按钮 定时器

static int i = 29; @property(nonatomic,strong) NSTimer *timmer;//定时器 - (void)sendNumber{ NSLog(@"发送验证码"); self.getTelephoneCodeBtn.enabled = NO; [self.getTelephoneCodeBtn setTitle:@...

weixin_30328063的博客 281

Android Studio使用Mob获取手机验证码

最近,在做毕设,对于我这个android小白来说,真的是很头大啊,好多东西都不会。。。 无奈,边学边做呗,都是自己作的啊!其中有一个模块是通过手机获取验证码进行登录,开始用的是Mob的后台获取验证码实现的,但是现在和服务端连接接口后,要改代码,但是觉得还是有必要记录一下,万一以后用得上呢! 先来看看最后的效果图,这是点击获取验证码之后的效果,初始效果见后面的布局文件哦: ...

流萤梦的博客 2295

简单的“获取验证码”的按钮功能实现

最近做项目遇到一个小问题,获取码证码,通常这种界面直接用xib来布局这个注册页面,以往用的是纯代码,然后发现了一个小bug,以前用纯代码写的获取验证码这个功能正常的,但是现在用xib拖拽的按钮,虽然可以实现,但是文字会闪烁,这到底是为什么纯代码没有问题,xib就出现这个问题呢?我也不知道,其实这里第一次写这个博客,写得有点烂,先上代码 #import "ViewControl...

weixin_30251587的博客 238

点击 获取验证码 后,btn上显示 60秒 倒计时

-(void)daojishi{ __weak typeof(self) weakSelf = self; __block int timeout=60; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_sourc...

weixin_30815427的博客 96

ios开发: 按钮定时器方法封装

// 获取短信验证码计时器 (button为system状态显示倒计时的数字会频闪,改为custom后就不闪了) + (void)openTimerButton:(UIButton *)timerButton andTimeLengh:(NSInteger)timeLengh{ __block NSInteger time = timeLengh; dispat

tiebanshao的博客 581

定时器修改button标题闪烁

在做一个项目时,用到UIButton来设置接收短信验证码的倒计时,但是用NSTimer来设置标题会出现连续闪烁的问题。 经过测试发现了一下内容,如果只是单独的设置button的titleLabel的内容则显示不出来效果,如果单独设置标题和状态这种方式在使用了NSTimer后会出现连续闪烁的问题 此时需要将两个方法同时使用,则不会出现闪烁的问题,即都设置 _getCodeButton.titl...

weixin_30426957的博客 111

HTML5 登录表单实战:3种验证方式与响应式布局实现

本文详细介绍了如何使用HTML5和CSS3构建支持三种验证方式(短信验证码、密码登录、扫码登录)的响应式登录表单。通过代码示例展示了基础架构、验证实现、响应式布局及安全增强等关键技术点,帮助开发者提升Web登录系统的用户体验和安全性。

weixin_30664615的博客 259

UIButton与NSTimer之间的奇葩bug

项目中,有这么一个功能:点击button,发请求去获取手机短信验证码,然后button.title开始显示为“倒计时xx秒”,每隔1秒就更新一次。     看到需求,我第一反应就是使用定时器NSTimer。伸伸懒腰,开工!在storyboard上,直接拖一个UIButton(这句话加粗标红,自然有其深意),然后在相关的.m文件中,创建NSTimer,该定时器每隔1秒就执行一次countD

CSD_YYG的博客 830
上一篇: OC与swift混编
下一篇: UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法
CAPT_DavidLee
博客等级 码龄11年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值