iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)
生活随笔
收集整理的这篇文章主要介绍了
iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1 #import "ViewController.h"
2
3 @interface ViewController ()<UIAlertViewDelegate,UIActionSheetDelegate>
4
5 @end
6
7 @implementation ViewController
8
9 #pragma mark - 生命周期
10 - (void)viewDidLoad {
11 [super viewDidLoad];
12 // 创建展示AlertView的按钮
13 UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
14 [btn setTitle:@"AlertView" forState:UIControlStateNormal];
15 [btn setFrame:CGRectMake(130, 150, 100, 100)];
16 //btn.center =self.view.center;
17 [btn setBackgroundColor:[UIColor orangeColor]];
18 [btn addTarget:self action:@selector(showAlert) forControlEvents:UIControlEventTouchUpInside];
19
20 // 创建展示ActionSheet的按钮
21 [self.view addSubview:btn];
22 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeSystem];
23 [btn1 setTitle:@"ActionSheet" forState:UIControlStateNormal];
24 [btn1 setFrame:CGRectMake(130, 300, 100, 100)];
25 [btn1 setBackgroundColor:[UIColor redColor]];
26 [btn1 addTarget:self action:@selector(showActionSheet) forControlEvents:UIControlEventTouchUpInside];
27 [self.view addSubview:btn1];
28
29
30 }
31 #pragma mark - 关联事件
32
33 #pragma mark - 警示框
34 - (void)showAlert
35 {
36 /*
37
38 UIAlertView警示框控件
39 注意
40 不用创建全局的Alert
41 尽量不要关联逻辑操作,如果关联实现协议:UIAlertViewDelegate以及里面的协议方法
42
43 */
44 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"错误"
45 message:@"网络连接失败"
46 delegate:self
47 cancelButtonTitle:@"好的"
48 otherButtonTitles:@"方案1",@"方案2",@"方案3", nil];
49
50 [alert show];
51 }
52 #pragma mark - 选择框
53 - (void)showActionSheet
54 {
55 /*
56
57 UIActionSheet 选择框
58 注意
59 不用创建全局的UIActionSheet
60 尽量关联逻辑操作,如果关联实现协议:UIActionSheetDelegate以及里面的协议方法
61
62 */
63
64 UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"请选择你的节操充值额度"
65 delegate:self
66 cancelButtonTitle:@"算了,不要了"
67 destructiveButtonTitle:@"18.00RMB"
68 otherButtonTitles:@"19.00RMB",@"20.00RMB",@"21.00RMB", nil];
69
70 [action showInView:self.view];
71 }
72
73 #pragma mark - 选择框代理方法
74 - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
75 {
76 switch (buttonIndex) {
77 case 0:
78 NSLog(@"第一种情况");
79 break;
80 case 1:
81 NSLog(@"第二种情况");
82 break;
83 case 2:
84 NSLog(@"第三种情况");
85 break;
86 case 3:
87 NSLog(@"第四种情况");
88 break;
89 case 4:
90 NSLog(@"第五种情况");
91 break;
92
93 default:
94 break;
95 }
96 }
97 #pragma mark - 警示框代理方法
98 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
99 {
100 switch (buttonIndex) {
101 case 0:
102 NSLog(@"序号为0");
103 break;
104 case 1:
105 NSLog(@"序号为1");
106 break;
107 case 2:
108 NSLog(@"序号为2");
109 break;
110 case 3:
111 NSLog(@"序号为3");
112 break;
113
114 default:
115 break;
116 }
117 }
118
119
120 - (void)didReceiveMemoryWarning {
121 [super didReceiveMemoryWarning];
122 // Dispose of any resources that can be recreated.
123 }
124
125 @end
1 // 2 // ViewController.m 3 // IOS_0226_UIAlertController 4 // 5 // Created by ma c on 16/2/26. 6 // Copyright © 2016年 博文科技. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 11 @interface ViewController () 12 @property (weak, nonatomic) IBOutlet UIButton *btnClick; 13 14 @end 15 16 @implementation ViewController 17 18 /* 19 UIPresentationController ->管理所有Modal出来的控制器 20 21 1.管理所有通过presentViewController方法显示出来的控制器 22 2.只要调用了presentViewController方法就会创建UIPresentationController 23 3.管理/监听切换控制器的过程 24 4.属性 25 //当前控制器 26 @property(nonatomic, strong, readonly) UIViewController *presentingViewController; 27 //切换的控制器 28 @property(nonatomic, strong, readonly) UIViewController *presentedViewController; 29 //切换的控制器视图 30 - (nullable UIView *)presentedView; 31 32 5.UIViewController属性 33 34 @property (nonatomic,readonly) UIPresentationController *presentationController 35 @property (nonatomic,readonly) UIPopoverPresentationController *popoverPresentationController 36 37 这两个属性指向UIPresentationController 38 39 */ 40 41 - (void)viewDidLoad { 42 [super viewDidLoad]; 43 self.view.backgroundColor = [UIColor cyanColor]; 44 45 46 } 47 48 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 49 { 50 //[self createAlertVC]; 51 [self createPopoverPresentationVC]; 52 } 53 54 - (void)createAlertVC 55 { 56 //警示框 57 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"好久不见,你又不乖了。" preferredStyle:UIAlertControllerStyleAlert]; 58 //添加按钮 59 UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { 60 NSLog(@"点击了确定按钮"); 61 }]; 62 63 [alert addAction:action]; 64 65 [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { 66 NSLog(@"点击了取消按钮"); 67 }]]; 68 69 //添加文本框 70 [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { 71 textField.borderStyle = UITextBorderStyleRoundedRect; 72 textField.textColor = [UIColor redColor]; 73 textField.text = @"123"; 74 [textField addTarget:self action:@selector(uernameChange:) forControlEvents:UIControlEventEditingChanged]; 75 76 }]; 77 [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { 78 textField.borderStyle = UITextBorderStyleRoundedRect; 79 80 textField.secureTextEntry = YES; 81 textField.text = @"123"; 82 }]; 83 [self presentViewController:alert animated:nil completion:nil]; 84 } 85 86 - (void)uernameChange:(UITextField *)textField 87 { 88 NSLog(@"%@",textField.text); 89 } 90 91 92 - (void)createPopoverPresentationVC 93 { 94 UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"提示" message:@"请选择操作" preferredStyle:UIAlertControllerStyleActionSheet]; 95 //设置展示形式 96 actionSheet.modalTransitionStyle = UIModalPresentationPopover; 97 self.popoverPresentationController.sourceView = self.btnClick; 98 self.popoverPresentationController.sourceRect = self.btnClick.bounds; 99 100 101 UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { 102 NSLog(@"点击了确定按钮"); 103 }]; 104 [actionSheet addAction:action]; 105 106 [actionSheet addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { 107 NSLog(@"点击了取消按钮"); 108 }]]; 109 110 [self presentViewController:actionSheet animated:nil completion:nil]; 111 112 } 113 114 115 116 @end
总结
以上是生活随笔为你收集整理的iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: LL-verilog 1000HZ分频为
- 下一篇: LL-verilog-HDLBitSim