iOS SubmitButton 动画

SubmitButton

一个SubmitButton动画
设计稿传送门
GitHub传送门

一、演示

  • 点击“Submit”开始动画;
  • Loading过程的progress由外部传入;
  • 加载完成的结果(成功/失败)也由外部传入。

1. 加载完成,结果为成功

submit_button_succeed.gif

2. 加载完成,结果为失败

submit_button_failed.gif

二、使用

将下面四个文件拖曳到工程里。

SubmitButtonView.h
SubmitButtonView.m,
SubmitButtonLayer.h
SubmitButtonLayer.m

0. 导入头文件

#import "SubmitButtonView.h"

1. 初始化

self.submitBtnView = [[SubmitButtonView alloc] initWithFrame:CGRectMake(100, 200, 200, 60)];
__weak typeof (self)wSelf = self;
self.submitBtnView.block = ^(SubmitButtonStatus submitBtnStatus){
    switch (submitBtnStatus) {
        case SubmitButtonStatusStart:
            
            break;
            
        case SubmitButtonStatusEnd:
            
            break;
            
        default:
            break;
    }
};
[self.view addSubview:self.submitBtnView];

2. Loading过程的progress赋值

在SubmitButtonStatus == SubmitButtonStatusStart时发送网络请求,并且调用- (void)loadingProgressAnimationWithProgress:(CGFloat)progress方法给loading过程的progress赋值

3. 加载完成后结果赋值

加载完成后调用- (void)setFinalResultWith:(BOOL)result方法赋值

__weak typeof (self)wSelf = self;
self.submitBtnView.block = ^(SubmitButtonStatus submitBtnStatus){
    switch (submitBtnStatus) {
        case SubmitButtonStatusStart:
            //发送网络请求
            [wSelf startLoad];
            //给loading赋值
            [wSelf.submitBtnView loadingProgressAnimationWithProgress:wSelf.progress];
            //加载完成后,赋值YES/NO
            if (wSelf.progress == 1) {
                [wSelf.submitBtnView setFinalResultWith:NO];
            }
            break;
            
        case SubmitButtonStatusEnd:
            
            break;
            
        default:
            break;
    }
};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容