在iOS 8.0后,苹果弃用了UIAlertView
和UIActionSheet
,转而使用UIAlertController
把之前的UIAlertView
和UIActionSheet
整合在一起。新版的API变得简洁了不少几行代码就可实现之前一大片代码的功能
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
只需要修改preferredStyle
为UIAlertControllerStyleActionSheet
也可以添加输入框代码如下
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @"输入用户名";
}];