iOS 开发 - iOS 8 以后使用UIAlertController的使用

时间:2023-03-09 14:24:04
iOS  开发 - iOS 8 以后使用UIAlertController的使用

最近在写项目的时候,发现使用alertview和actonsheet会报警告,所以就查了一下,发现ios 9 以后会使用UIAlertController来进行操作,

具体代码如下:

1、声明

#import "EleventhViewController.h"

@interface EleventhViewController ()
{
UIAlertController *_alertController;
} @end

2、使用UIalertController创建的时候,只需要把样式边一样就可以了,如下

typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {
UIAlertControllerStyleActionSheet = , -->上拉菜单
UIAlertControllerStyleAlert -->警告框
} NS_ENUM_AVAILABLE_IOS(8_0);

3、警告框的样式

typedef NS_ENUM(NSInteger, UIAlertActionStyle) {
UIAlertActionStyleDefault = ,-->默认的
UIAlertActionStyleCancel,-->取消的
UIAlertActionStyleDestructive -->警告样式,会让字体变成红色
} NS_ENUM_AVAILABLE_IOS(8_0);

3、创建alertview

//alertview的创建
_alertController = [UIAlertController alertControllerWithTitle:@"请选择操作" message:@"数据删除后无法恢复" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { //在这里进行操作 }];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil]; [_alertController addAction:cancelAction];
[_alertController addAction:okAction];
[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
        
        textField.placeholder = @"请输入车牌号";     }];
[self presentViewController:_alertController animated:YES completion:nil];

4、创建actonsheet

//actionsheet的创建
_alertController = [UIAlertController alertControllerWithTitle:@"请选择操作" message:@"数据删除后无法恢复" preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
UIAlertAction *deleteAction = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:nil]; [_alertController addAction:cancelAction];
[_alertController addAction:okAction];
[_alertController addAction:deleteAction];
[self presentViewController:_alertController animated:YES completion:nil];

5、具体点击方法的实现的话,和alertview标注的一样

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

        //在这里进行操作

    }];