相信大家都用过 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
</