在iOS 8.0后,苹果弃用了UIAlertViewUIActionSheet,转而使用UIAlertController把之前的UIAlertViewUIActionSheet整合在一起。新版的API变得简洁了不少几行代码就可实现之前一大片代码的功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"My Alert"
message:@"This is an alert."
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
NSLog(@"你好你好");
}];
UIAlertAction* defaultAction2 = [UIAlertAction actionWithTitle:@"OK2" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
NSLog(@"你好你好");
}];
[alert addAction:defaultAction];
[alert addAction:defaultAction2];
[self presentViewController:alert animated:YES completion:nil];

初始化AlertView没有太大区别,主要区别就是添加事件。苹果公司新添加了UIAlertAction专门用来添加事件。一个Action对应一个事件,添加到alert上就可以使用。
切换为ActionSheet只需要修改preferredStyleUIAlertControllerStyleActionSheet