天天看点

iOS - UIAlertController三种显示提示框代码

UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView、UIActionSheet

1、UIAlertController显示普通的Alert

iOS - UIAlertController三种显示提示框代码
  • (IBAction)showAlert:(UIButton *)sender {

    //显示提示框

    //过时

    // UIAlertView alert = [[UIAlertView alloc] initWithTitle:@“Title” message:@“message” delegate:self cancelButtonTitle:@“cancel” otherButtonTitles:@“ok”, nil];

    // [alert show];

    UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”

    message:@“This is an alert.”

    preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@“OK” style:UIAlertActionStyleDefault

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, action);

    }];

    UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@“Cancel” style:UIAlertActionStyleDefault

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, action);

    }];

    [alert addAction:defaultAction];

    [alert addAction:cancelAction];

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

    }

    2、UIAlertController显示带文本输入的的Alert

    iOS - UIAlertController三种显示提示框代码
  • (IBAction)showList:(UIButton )sender {

    //提示框添加文本输入框

    UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”

    message:@“This is an alert.”

    preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* okAction = [UIAlertAction actionWithTitle:@“OK” style:UIAlertActionStyleDefault

    handler:^(UIAlertAction * action) {

    //响应事件

    //得到文本信息

    for(UITextField text in alert.textFields){

    NSLog(@“text = %@”, text.text);

    }

    }];

    UIAlertAction cancelAction = [UIAlertAction actionWithTitle:@“Cancel” style:UIAlertActionStyleCancel

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, alert.textFields);

    }];

    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {

    textField.placeholder = @“登录”;

    }];

    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {

    textField.placeholder = @“密码”;

    textField.secureTextEntry = YES;

    }];

    [alert addAction:okAction];

    [alert addAction:cancelAction];

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

}

3、UIAlertController显示ActionSheet

iOS - UIAlertController三种显示提示框代码
  • (IBAction)showSheet:(UIButton )sender {

    //显示弹出框列表选择

    UIAlertController alert = [UIAlertController alertControllerWithTitle:@“Title”

    message:@“This is an Sheet.”

    preferredStyle:UIAlertControllerStyleActionSheet];

    UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@“取消” style:UIAlertActionStyleCancel

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, action);

    }];

    UIAlertAction* deleteAction = [UIAlertAction actionWithTitle:@“删除” style:UIAlertActionStyleDestructive

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, action);

    }];

    UIAlertAction* saveAction = [UIAlertAction actionWithTitle:@“保存” style:UIAlertActionStyleDefault

    handler:^(UIAlertAction * action) {

    //响应事件

    NSLog(@“action = %@”, action);

    }];

    [alert addAction:saveAction];

    [alert addAction:cancelAction];

    [alert addAction:deleteAction];

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

    }