iOS UIAlertController学习笔记

在最近学习的iOS开发中用到了一些警告提示框,看到的很多教程里用的还是UIAlertview,但是iOS9.0开始,xcode里已经明确提示了不推荐使用,而是用UIAlertController来代替。
记录一下我用到的几种情况:

1.普通的警告提示框,显示在屏幕正中心,有一个标题,一段内容,以及一个确定按钮和一个取消按钮:

NSString *title = @"这是标题";  
NSString *message = @"这是提示内容";  
NSString *cancelButtonTitle = NSLocalizedString(@"取消", nil);  
NSString *otherButtonTitle = NSLocalizedString(@"确定", nil);  
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title  
                                                                         message:message  
                                                                  preferredStyle:UIAlertControllerStyleAlert];  
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:cancelButtonTitle  
                                                       style:UIAlertActionStyleCancel  
                                                     handler:^(UIAlertAction *action) {}];  
UIAlertAction *otherAction = [UIAlertAction actionWithTitle:otherButtonTitle  
                                                      style:UIAlertActionStyleDefault  
                                                    handler:^(UIAlertAction *action) {  
                                                        [self startAgain];  
                                                    }];  
[alertController addAction:cancelAction];  
[alertController addAction:otherAction];  
[self presentViewController:alertController animated:YES completion:nil]; 

当然也可以根据实际情况去掉一个按钮。

2.从下方向上显示的,多用于选择相机还是相册这类情况:

UIAlertController *_alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[_alertController addAction:[UIAlertAction actionWithTitle:@"拍摄" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
    [self takePhoto];
}]];
[_alertController addAction:[UIAlertAction actionWithTitle:@"从相册选择" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
    [self choosePhotoFromLibrary];
}]];
[_alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
    _alertController = nil;
}]];
[self presentViewController:_alertController animated:YES completion:nil];

暂时我就用到了这两种情况,当然还有带一个输入框的,以及多个输入框的,带有警示按钮的等等,这些都还没用到,等用到了再记录下来。

你可能感兴趣的:(iOS UIAlertController学习笔记)