×
广告

iOS学习之UIAlertController警告和操作表

96
罗朝福
2016.08.28 22:59* 字数 177

应用是如何和用户进行交流的呢?警告框和操作表就是为此而设计的。

  1. iOS警告框用于给用户提示和警告,最多有2个按钮,超过2个按钮就应该使用操作表。
  2. 警告框在iOS9.0之前使用的是UIAlertView,从iOS9.0开始之后使用的是UIAlertController控制器,可以实现警告和操作表。
    下面来看看在iOS9.0中警告框是如何实现的,先看看效果:
警告提示框

上代码

    UIAlertController *alert=[UIAlertController alertControllerWithTitle:@"友情提示" message:@"你确定离开我了么?" preferredStyle:UIAlertControllerStyleAlert];
    //为alert增加一个Action,
    UIAlertAction *okActin=[UIAlertAction actionWithTitle:@"好" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
        NSLog(@"你点击了确定");
    }];
    [alert addAction:okActin];
    //为alert增加一个‘取消’按钮
    UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action){
        NSLog(@"你点击了取消");
    }];
    [alert addAction:cancelAction];
    //显示
    [self presentViewController:alert animated:YES completion:nil];
枚举成员 说明
UIAlertControllerStyleAction 操作表(默认)
UIAlertControllerStyleAlert 警告框

UIAlertControllerStyle枚举成员

枚举成员 说明
UIAlertControllerStyleAction 操作表(默认)
UIAlertControllerStyleAlert 警告框

上面说了警告框,再来看看操作表又是如何实现的,同样先看看效果:

操作表

上代码

    UIAlertController *alert=[[UIAlertController alloc]init];
    UIAlertAction *action=[UIAlertAction actionWithTitle:@"分享到微信" style:UIAlertActionStyleDefault handler:^(UIAlertAction *_Nonnull action){
        NSLog(@"成功分享到微信");
    }];
    [alert addAction:action];
    UIAlertAction *action2=[UIAlertAction actionWithTitle:@"分享到微博" style:UIAlertActionStyleDefault handler:^(UIAlertAction *_Nonnull action){
        NSLog(@"成功分享到微博");
    }];
    [alert addAction:action2];
    UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnull action){
        NSLog(@"你点击了取消");
    }];
    [alert addAction:cancelAction];
    //显示
    [self presentViewController:alert animated:YES completion:nil];
学习笔记
Web note ad 1