首页 > 代码库 > iOS核心笔记——UIAlertController
iOS核心笔记——UIAlertController
1、UIAlertController简介:
※了解
:UIAlertController - - -> 提醒框控制器,在需要提醒用户执行某些操作时使用;通常分为两种样式:中间提醒框、底部提醒框。
苹果官方介绍:
2、UIAlertController使用:
2-1、UIAlertController样式:
-
1、UIAlertController有2种样式:
如下如所示:
2-2、UIAlertController使用步骤:
- UIAlertController使用
alertControllerWithTitle:message:preferredStyle:
创建UIAlertController控制器,并设置提醒框提醒消息、标题、以及提醒框样式;
- 通过
actionWithTitle:style:handler:
方法创建UIAlertAction;
- alertController调用
addAction:
方法将action添加到alertController中;
- 源控制器调用
presentViewController:animated:completion:
方法,将alertController以Modal形式展示出来。
3、UIAlertController属性:
3-1、UIAlertController三大属性:
※重要:
preferredStyle属性为只读属性(即:readOnly
)。
3-2、UIAlertController中action属性:
※重要:
创建一个确定按钮,一定要注意不能在提醒控制器的按钮的点击方法内部用到提醒控制器自己
,不能把下面这句话放在block内部;“不然会死循环,导致警告控制器不能销毁”。
3-3、UIAlertController中添加文本框属性:
※重要:
只有中间提醒框样式才能够添加文本框,底部提醒框不能添加文本框。
4、2种样式示例:
4-1、中间提醒框:
示例程序:
1. // MARK: - 创建UIAlertController
2. UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"您的账户余额已不足!" preferredStyle:UIAlertControllerStyleAlert];
3.
4. // MARK: - 设置alert的属性
5. // alert.preferredStyle 只读属性(readOnly)
6.// alert.preferredStyle = UIAlertControllerStyleAlert;
7.
8. // MARK: - 添加文本框
9. [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
10. // 1. 设置占位文字
11. textField.placeholder = @"请输入充值金额!";
12. }];
13.
14. // MARK: - 创建按钮
15. UIAlertAction *sure = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
16. // 1. 通过textFields属性获取文本框
17. NSString *text = [alert.textFields[0] text];
18. NSLog(@"您的账户已充值:%@元!", text);
19. }];
20.
21. UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
22. NSLog(@"您的账户已停机!");
23. }];
24.
25. // MARK: - 添加action
26. [alert addAction:sure];
27. [alert addAction:cancel];
28.
29. // MARK: - 显示提醒框
30. [self presentViewController:alert animated:YES completion:^{
31.
32. }];
4-2、底部提醒框示例:
示例程序:
1. // UIAlertController 通过alloc、init创建的默认是UIAlertControllerStyleActionSheet样式
2. UIAlertController *actionSheet = [[UIAlertController alloc] init];
3.
4. // MARK: - 设置属性
5. actionSheet.title = @"警告";
6. actionSheet.message = @"您的余额已不足, 请及时充值!";
7.
8. // MARK: - 只读属性
9.// actionSheet.preferredStyle = UIAlertControllerStyleActionSheet;
10.
11. // MARK: - 创建按钮
12. UIAlertAction *sure = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
13. NSLog(@"您的账户已停机!");
14. }];
15.
16. UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
17. NSLog(@"您的账户已缴费!");
18. }];
19.
20. // MARK: - 添加action
21. [actionSheet addAction:sure];
22. [actionSheet addAction:cancel];
23.
24. // MARK: - 底部提醒框不能添加文本框
25.// [actionSheet addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
26.// // 1. 设置占位文字
27.// textField.placeholder = @"请输入充值金额!";
28.// }];
29.
30.
31. // MARK: - 底部显示提醒框
32. [self presentViewController:actionSheet animated:YES completion:^{
33.
34. }];
iOS核心笔记——UIAlertController
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。