自定义一个单例弹框提示控件,弹框消失时可以有回调操作

本文介绍了作者基于学习态度,在项目中自定义了一个用于异常提示的弹框控件,支持自定义结束回调。文章展示了弹框效果,并提供了便捷的调用方式。通过这个实现,读者可以了解核心动画、动画组和QuartzCore的相关知识,提高个人技能。
摘要由CSDN通过智能技术生成

相信大家都用过 MBProgressHUD, 封装的很完善,功能很多,确实很实用,但是又有多少人认真细看过它的实现呢? 本着学习的态度,我再自己项目中自定义实现了一个专门提示各种异常错误信息的弹框, 可以自定义弹框结束后的回调操作。

先看看效果:
这里写图片描述

gif上的压缩的原因,动画效果不是很明显,实用的时候会有比较明显的一个弹出动画跟逐渐变小消失的动画。

工具使用起来非常的方便,根据是否需要回调提供了两个函数调用,完全不用二次封装,导入即可用!

void popMessage(NSString * message, UIView * onView);
void popMessageWithBlock(NSString * message , UIView *onView, void(^completion)());

再看看看使用吧

#import "ViewController.h"
#import "GZPopView.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 150, 30)];
    button.backgroundColor = [UIColor redColor];
    [button setTitle:@"点我试试" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
     [self.view addSubview:button];
}

- (void) action:(UIButton *)button
{
    //直接调用,传入相应参数即可
    popMessageWithBlock(@"网络错误,网络错误,网络错误,网络错误,网络错误,网络错误,网络", self.view, ^{
        //弹框消失后会立刻回调此 block, 我们可以做一些例如:popToViewController等操作
        NSLog(@"弹框消失了"); 
    });
}

@end

弹框工具类

#import <UIKit/UIKit.h>
/**
 *  网络错误信息提示label
 */

@interface GZPopView : UILabel

/**
 弹出提示框

 @param message 提示信息
 @param onView 添加到哪个视图
 */
void popMessage(NSString * message, UIView * onView);

/**
 弹出提示框

 @param message 提示信息
 @param onView 添加到哪个视图
 @param completion 弹框消失后的回调
 */
void popMessageWithBlock(NSString * message , UIView *onView, void(^completion)());


@end
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值