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

具体代码如下:

1、声明

#import "EleventhViewController.h"

@interface EleventhViewController ()
{
    UIAlertController *_alertController;
}

@end

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

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

3、警告框的样式

typedef NS_ENUM(NSInteger, UIAlertActionStyle) {
    UIAlertActionStyleDefault = 0,-->默认的
    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) {
        
        //在这里进行操作
        
    }];

 



作者:稻草人11223