美文网首页
iOS项目——HFUTAlertController

iOS项目——HFUTAlertController

作者: 换个名字再说 | 来源:发表于2017-02-26 15:14 被阅读0次

HFUTAlertController

HFUTAlertController是一个基于转场动画,封装了一些类似于UIAlertController的一些操作。
项目地址

说明

展示

default_double.gif success_single.gif failure_single.gif info_single.gif

使用的三方库

pop:facebook开源的游戏级别的动画引擎,相当好用,点击链接了解详情

Masonry:封装的非常好用的布局操作,相当方便,点击链接了解详情

使用

开始

首先需要导入上面所说的三方库,然后直接下载文件导入项目

接着包含头文件

#import "HFUTAlert.h"

假设在一个ViewController上弹出AlertController,需要ViewController遵从<UIViewControllerTransitioningDelegate>协议,并实现下面两个方法。

//ViewController.m
@interface ViewController () <UIViewControllerTransitioningDelegate>
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    // Do any additional setup after loading the view.
}
#pragma mark - UIViewControllerTransitioningDelegate
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source {
    return [HFUTPresentingAnimator new];
}

- (id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed {
    return [HFUTDismissingAnimator new];
}
@end

假设点击一个ViewController里的按钮弹出Alert

- (IBAction)button:(id)sender {
    HFUTAlertController * alert = [HFUTAlertController alertWithTitle:@"XXOO" message:@"xxxxxoooooo" style:AlertStyleInfoWithDoubleButton];
    alert.transitioningDelegate = self; //!!!一定要有
    [self presentViewController:alert animated:YES completion:nil];
}

如果ViewController继承NavigationController,就使用这个方法弹出

[self.navigationController presentViewController:alert animated:YES completion:nil];

操作

设置确认和取消按钮的响应事件,在presentViewController之前通过下面操作

[alert setDefaultCompletion:^{
        ...
    }];
[alert setCancelCompletion:^{
  ...
}]

更改按钮的名字

[alert setDefaultButtonTitle:title];
[alert setCancelButtonTitle:title];

了解

选择不一样的style又不一样风格的Alert

  • AlertStyleDefaultWithSingleButton
  • AlertStyleDefaultWithDoubleButton
  • AlertStyleSuccessWithSingleButton
  • AlertStyleFailureWithSingleButton
  • AlertStyleInfoWithSingleButton

相关文章

网友评论

      本文标题:iOS项目——HFUTAlertController

      本文链接:https://www.haomeiwen.com/subject/koiowttx.html