iOS学习:UIAlertController详解与实例演示

分类:知识百科 日期: 点击:0

UIAlertController是iOS 8开始推出的一个新特性,它可以帮助开发者更加方便地创建弹出式对话框。它可以用来显示简单的消息,也可以用来显示复杂的内容,比如文本框、按钮以及其他的UI元素。

UIAlertController的使用方法

使用UIAlertController的方法非常简单,只需要几行代码就可以实现。创建一个UIAlertController对象:

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"消息" preferredStyle:UIAlertControllerStyleAlert];

添加按钮:

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
  // 处理取消按钮
}];
[alertController addAction:cancelAction];

在需要显示的地方,调用presentViewController方法显示:

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

UIAlertController的类型

UIAlertController有两种类型:UIAlertControllerStyleAlert和UIAlertControllerStyleActionSheet,分别表示弹出式对话框和操作表单。

UIAlertControllerStyleAlert是一种弹出式对话框,它可以用来显示简单的消息,也可以用来显示复杂的内容,比如文本框、按钮以及其他的UI元素。它可以用来提示用户,并且可以收集用户的输入。

UIAlertControllerStyleActionSheet是一种操作表单,它可以用来显示一系列的操作,比如复制、粘贴、删除等等。它可以用来提示用户,并且可以收集用户的选择。

实例演示

下面是一个使用UIAlertController的示例代码,它可以显示一个弹出式对话框,提示用户输入文本:

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"请输入文本" preferredStyle:UIAlertControllerStyleAlert];

[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
    textField.placeholder = @"文本";
}];

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
    // 处理取消按钮
}];
[alertController addAction:cancelAction];

UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
    // 处理确定按钮
    UITextField *textField = alertController.textFields.firstObject;
    NSLog(@"文本:%@", textField.text);
}];
[alertController addAction:okAction];

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

上面的代码会显示一个弹出式对话框,用户可以在文本框中输入文本,点击确定按钮,代码会打印出用户输入的文本。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。