今天看到下面一段代码 ,感觉这代码写的好累🤣🤣🤣。然后就简单的封装一下UIAlertController以方便使用,仅仅只有一个action和两个action的。🤔🤔🤔
原始代码截图修改后代码如下,是不是看着舒服多了🤓🤓🤓
修改后代码截图我是给UIViewController添加了一个category,这样只要是UIViewController里都可以直接调用。
代码如下:
#import "UIViewController+AlertVC.h"
@implementation UIViewController (AlertVC)
- (void)presentOneActionAlertControllerTitle:(NSString *_Nullable)aTitle message:(NSString *_Nullable)aMessage actionTitle:(NSString *_Nullable)actionTitle handler:(void (^ _Nullable )(UIAlertAction * _Nullable action))handler {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:aTitle message:aMessage preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *leftAction = [UIAlertAction actionWithTitle:actionTitle style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
handler(action);
}];
[alert addAction:leftAction];
[self presentViewController:alert animated:YES completion:nil];
}
- (void)presentTwoActionAlertControllerTitle:(NSString *_Nullable)aTitle message:(NSString *_Nullable)aMessage rightTitle:(NSString *_Nullable)rightTitle leftTitle:(NSString *_Nullable)leftTitle rightActionStyle:(UIAlertActionStyle)style rightHandler:(void (^ _Nullable )(UIAlertAction * _Nullable action))rightHandler leftHandler:(void (^ _Nullable )(UIAlertAction * _Nullable action))leftHandler {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:aTitle message:aMessage preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *rightAction = [UIAlertAction actionWithTitle:rightTitle style:style handler:^(UIAlertAction * _Nonnull action) {
rightHandler(action);
}];
UIAlertAction *leftAction = [UIAlertAction actionWithTitle:leftTitle style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
leftHandler(action);
}];
[alert addAction:rightAction];
[alert addAction:leftAction];
[self presentViewController:alert animated:YES completion:nil];
}
大家一起愉快的Alert弹框吧😉😉😉
网友评论