UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView、UIActionSheet
1、UIAlertController显示普通的Alert
- - (IBAction)showAlert:(UIButton *)sender {
- //显示提示框
- //过时
- // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
- // [alert show];
- UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Title"
- message:@"This is an alert."
- preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", action);
- }];
- UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", action);
- }];
- [alert addAction:defaultAction];
- [alert addAction:cancelAction];
- [self presentViewController:alert animated:YES completion:nil];
- }
2、UIAlertController显示带文本输入的的Alert
- - (IBAction)showList:(UIButton *)sender {
- //提示框添加文本输入框
- UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Title"
- message:@"This is an alert."
- preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction* okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
- handler:^(UIAlertAction * action) {
- //响应事件
- //得到文本信息
- for(UITextField *text in alert.textFields){
- NSLog(@"text = %@", text.text);
- }
- }];
- UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", alert.textFields);
- }];
- [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
- textField.placeholder = @"登录";
- }];
- [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
- textField.placeholder = @"密码";
- textField.secureTextEntry = YES;
- }];
- [alert addAction:okAction];
- [alert addAction:cancelAction];
- [self presentViewController:alert animated:YES completion:nil];
- }
3、UIAlertController显示ActionSheet
- - (IBAction)showSheet:(UIButton *)sender {
- //显示弹出框列表选择
- UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Title"
- message:@"This is an Sheet."
- preferredStyle:UIAlertControllerStyleActionSheet];
- UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", action);
- }];
- UIAlertAction* deleteAction = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", action);
- }];
- UIAlertAction* saveAction = [UIAlertAction actionWithTitle:@"保存" style:UIAlertActionStyleDefault
- handler:^(UIAlertAction * action) {
- //响应事件
- NSLog(@"action = %@", action);
- }];
- [alert addAction:saveAction];
- [alert addAction:cancelAction];
- [alert addAction:deleteAction];
- [self presentViewController:alert animated:YES completion:nil];
- }