用RAC实现登陆界面的倒计时
来源:互联网 发布:校园宿舍管理系统java 编辑:程序博客网 时间:2024/05/21 10:27
当需要手机注册或者验证的需求 有个1分钟的倒计时 具体代码如下
以上简单的实现了倒计时60s
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.remainSeconds = 60; self.startCheckTimer = 1; self.label = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 20)] ; self.label.backgroundColor = [UIColor redColor]; [self.view addSubview:self.label]; [self setTime];}- (void)setTime{ @weakify(self); RACSignal* signal = [[[RACSignal interval:1 onScheduler:[RACScheduler mainThreadScheduler]] startWith:[NSDate date]] map:^id(NSDate* value) { @strongify(self); if(self.remainSeconds > 0 && self.startCheckTimer){ self.remainSeconds = self.remainSeconds - 1; if(self.remainSeconds == 0){ self.startCheckTimer = 0; } } NSString *text = [NSString stringWithFormat:@"未收到验证码?请稍等%d秒",self.remainSeconds]; return text; }]; [signal subscribeNext:^(NSString* x) { @strongify(self); self.label.text = x; }]; RAC(self.reSendButton, enabled) = [RACSignal combineLatest:@[ RACObserve(self, remainSeconds), RACObserve(self, startCheckTimer) ] reduce:^id(NSNumber* remain, NSNumber* startCheck) { return@( remain.intValue == 0 && _startCheckTimer == 0); }];}- (void)setResendButton:button{ _reSendButton = button; @weakify(self); [[self.reSendButton rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { @strongify(self); self.reSendButton.enabled = FALSE; self.remainSeconds = 60; self.startCheckTimer = 1;// [self startResendVerifyCode]; }];}
以上简单的实现了倒计时60s
0 0
- 用RAC实现登陆界面的倒计时
- 广告倒计时欢迎界面的实现,倒计时欢迎界面
- 登陆的界面部分实现
- java实现的登陆界面
- 简易登陆界面的实现
- android的登陆界面实现
- MiniTwitter登陆界面的实现
- 广告倒计时欢迎界面的实现
- 用wxWigets实现登陆界面
- 用LinearLayout和RelativeLayout分别实现简单的登陆界面
- 登陆界面软件自动更新功能的实现
- 笔记114--记录登陆界面的实现
- 利用uinavigattion实现简单的登陆界面
- 聊天软件登陆界面的实现
- MaterialDesign+FullscreenImageView实现漂亮的登陆界面
- 用.Net实现登陆界面并验证
- 用html实现企业邮箱登陆界面
- Facebook登陆界面实现
- 使用Symbolicatecrash和xcrun atos分析crash log
- APNS的推送机制
- PHP超级全局变量总结
- 字符串加密机密
- Maven学习笔记001——认识Maven
- 用RAC实现登陆界面的倒计时
- 使用Audio Queue Services 播放和录制音频
- 维度及长度均可任意变形的动态数组
- Android与设计模式——状态(State)模式
- 黑马程序员--java概述
- MySql常用命令总结
- QT 数据库操作
- hdu3635Dragon Balls
- C#、VB获取本月第一天、本月最后一天