标签:ios 警告 操作 with mat 步骤 创建 底部 循环
※了解
:UIAlertController - - -> 提醒框控制器,在需要提醒用户执行某些操作时使用;通常分为两种样式:中间提醒框、底部提醒框。
1、UIAlertController有2种样式:
如下如所示:
- UIAlertController使用
alertControllerWithTitle:message:preferredStyle:
创建UIAlertController控制器,并设置提醒框提醒消息、标题、以及提醒框样式;
- 通过
actionWithTitle:style:handler:
方法创建UIAlertAction;
- alertController调用
addAction:
方法将action添加到alertController中;
- 源控制器调用
presentViewController:animated:completion:
方法,将alertController以Modal形式展示出来。
※重要:
preferredStyle属性为只读属性(即:readOnly
)。
※重要:
创建一个确定按钮,一定要注意不能在提醒控制器的按钮的点击方法内部用到提醒控制器自己
,不能把下面这句话放在block内部;“不然会死循环,导致警告控制器不能销毁”。
※重要:
只有中间提醒框样式才能够添加文本框,底部提醒框不能添加文本框。
示例程序:
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. }];
示例程序:
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 警告 操作 with mat 步骤 创建 底部 循环
原文地址:http://www.cnblogs.com/leilifengixng/p/6367639.html