Giter VIP home page Giter VIP logo

jkcountdownbutton's Introduction

JKCountDownButton

JKCountDownButton,子类化UIButton实现IOS倒计时按钮,常常用于注册等发送验证码的时候进行倒计时操作

JKCountDownButton, subclassing UIButton implementation iOS countdown button, register with sending the verification code and countdown

Installation

Installation with CocoaPods

platform :ios
pod 'JKCountDownButton'

Manually

Copy JKCountDownButton.h JKCountDownButton.m in JKCountDownButton/ to your project.

Usage

Code

JKCountDownButton *_countDownCode;
_countDownCode = [JKCountDownButton buttonWithType:UIButtonTypeCustom];
_countDownCode.frame = CGRectMake(81, 200, 108, 32);
[_countDownCode setTitle:@"开始" forState:UIControlStateNormal];
_countDownCode.backgroundColor = [UIColor blueColor];
[self.view addSubview:_countDownCode];

 [_countDownCode countDownButtonHandler:^(JKCountDownButton*sender, NSInteger tag) {
    sender.enabled = NO;

    [sender startCountDownWithSecond:10];

    [sender countDownChanging:^NSString *(JKCountDownButton *countDownButton,NSUInteger second) {
        NSString *title = [NSString stringWithFormat:@"剩余%zd秒",second];
        return title;
    }];
    [sender countDownFinished:^NSString *(JKCountDownButton *countDownButton, NSUInteger second) {
        countDownButton.enabled = YES;
        return @"点击重新获取";
        
    }];

}];

###xib @property (weak, nonatomic) IBOutlet JKCountDownButton *countDownXib;

- (IBAction)countDownXibTouched:(JKCountDownButton*)sender {
sender.enabled = NO;
//button type要 设置成custom 否则会闪动
[sender startCountDownWithSecond:60];

[sender countDownChanging:^NSString *(JKCountDownButton *countDownButton,NSUInteger second) {
    NSString *title = [NSString stringWithFormat:@"剩余%zd秒",second];
    return title;
}];
[sender countDownFinished:^NSString *(JKCountDownButton *countDownButton, NSUInteger second) {
    countDownButton.enabled = YES;
    return @"点击重新获取";
    
}];

}

License

This code is distributed under the terms and conditions of the MIT license.

Demo

jkcountdownbutton's People

Contributors

shaojiankui avatar

Watchers

James Cloos avatar NiuJun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.