ios开发获取验证码按钮读秒效果

来源:互联网 发布:淘宝宝贝描述低能买吗 编辑:程序博客网 时间:2024/05/22 00:06

在ios开发中时常会使用到界面获取验证码的效果


////  ViewController.h//  test03 实现验证码获取按钮////  Created by mouweng on 17/8/24.//  Copyright © 2017年 mouweng. All rights reserved.//#import <UIKit/UIKit.h>@interface ViewController : UIViewController{    UIButton *btn;    int second;    NSTimer *timer;}@end

////  ViewController.m//  test03 实现验证码获取按钮////  Created by mouweng on 17/8/24.//  Copyright © 2017年 mouweng. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.    btn = [UIButton buttonWithType:UIButtonTypeCustom];//这个地方不能使用RoundRect类型,不然字符串会闪动    btn.frame = CGRectMake(100, 100, 150, 50);    [btn setTitle:@"点击获取验证码" forState:UIControlStateNormal];    [btn addTarget:self action:@selector(startCountDown) forControlEvents:UIControlEventTouchUpInside];    btn.backgroundColor = [UIColor greenColor];    [self.view addSubview:btn];}- (void)startCountDown{    second = 60;    NSString *str = [NSString stringWithFormat:@"%d秒后可重新获取",second];    [btn setTitle:str forState:UIControlStateNormal];    timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(oneSecondPass) userInfo:nil repeats:YES];    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];//用于表示循环}- (void)oneSecondPass{    if(second >0)    {        second = second - 1;        NSString *str = [NSString stringWithFormat:@"%d秒后可重新获取",second];        [btn setTitle:str forState:UIControlStateNormal];    }    else    {        [timer invalidate];        [btn setTitle:@"点击获取验证码" forState:UIControlStateNormal];    }}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end



阅读全文
0 0
原创粉丝点击