CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✗ | 
| LangLanguage | Obj-CObjective C | 
| License | MIT | 
| ReleasedLast Release | Nov 2016 | 
Maintained by ChenBW.
CustomAlertView
this is a custom AlertView that can modify the color of messeage/title/button.
also,it offer 3 animation type,they are fade/big to small/small to big
here are examples:
/**
 *  透明度渐变
 */
- (IBAction)fadeAction:(id)sender {
    CBWAlertView *view = [[CBWAlertView alloc]initWithTitle:@"标题" andMessage:@"内容.... message...."];
    //设置 title 和 message的颜色,可以不设置默认为黑色
    view.titleTextColor = [UIColor redColor];
    view.messageTextColor = [UIColor greenColor];
    [view addButtonWithTitle:@"取消" color:[UIColor lightGrayColor] handler:^(CBWAlertView *alertView) {
        NSLog(@"取消按钮点击");
        NSLog(@"%@",alertView);
    }];
    //设置按钮的颜色和标题
    UIColor *color = [UIColor colorWithRed:0 green:118.0/255.0 blue:255.0/255.0 alpha:1.0];
    [view addButtonWithTitle:@"确定" color:color handler:^(CBWAlertView *alertView) {
        NSLog(@"确定按钮点击");
        NSLog(@"%@",alertView);
    }];
    [view show];
}
more usage please view the demo
如果创建一个 View,加在当前的 VC 上
view, 里面有一个 block,block 会调用当前VC方法
当前 VC 释放的时候,会产生内存泄露
tips:这里采用MLeaksFinder检测内存泄露
如果创建一个 View,加在当前的 VC 上
view, 里面有一个 block,block 会调用当前VC方法
当前 VC 释放前干掉 view, 就不会产生内存泄露
1.我自己写的 CBWAlertView 是在执行完成之后 removeFromSuperView 的,所以不会造成循环引用
- (void)buttonAction:(UIButton *)button{
    
    AlertButtonItem *item = self.items[button.tag];
    if (item.action) {
        item.action(self);
    }
    [self dismiss];
}
- (void)dismiss{
    [UIView animateWithDuration:dismisDuring
                          delay:0
                        options:UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionBeginFromCurrentState
                     animations:^{
                         self.alpha = 0.0;
                         
                     } completion:^(BOOL finished) {
                         for (UIView *v in [self subviews]) {
                             [v removeFromSuperview];
                         }
                         
                         [self removeFromSuperview];
                     }];
    
}
2.而且是加载 window 上的,不是加在 view 上面,更加不会照成循环引用
[[[[UIApplication sharedApplication] windows] lastObject] addSubview:self];