iOS中UIAlertController的使用

弹出框在移动端开发中使用是比较频繁的控件之一

1、在iOS8.0之前使用最多的原生弹出框控件是:UIAlertView,但是这个控件在iOS8.0之后苹果公司就废弃了这个方法

iOS中UIAlertController的使用_第1张图片
头文件提示

正如图中所说:用UIAlertConntroller并设置样式为UIAlertcontrollerStyleAlert 就是原来的UIAlertView了,同理UIAlertcontrollerStyleActionSheet就是UIActionSheet

2、如果你不想使用UIAlertController,觉得使用起来不舒服,那么你可以继续使用UIAlertView与UIActionSheet,但是苹果并不会对这两个控件进行更新和维护了。所以,作为一个开发人员,还是接受新事物比好好点,毕竟自己也要成长

3、使用方法如下:

类方法快速创建一个提示控制器 值得注意的是这个控制器有个preferreStyle属性你可以根据这个属性来确定是使用UIAlertView 还是 UIActionSheet

UIAlertControllerStyleActionSheet

UIAlertControllerStyleAlert

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"显示的标题" message:@"标题的提示信息" preferredStyle:UIAlertControllerStyleAlert];

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

//所有的点击按钮的操作都在此处处理,

NSLog(@"点击取消");

}]];

[alertController addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击确认");

}]];

[alertController addAction:[UIAlertAction actionWithTitle:@"警告" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击警告");

}]];

[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

NSLog(@"添加一个textField就会调用 这个block");

}];

// 由于它是一个控制器 直接modal出来就好了

[self presentViewController:alertController animated:YES completion:nil];

由上述可见,省区了麻烦的代理方法,使用block,我们可以自行再次对其封装 使用会更加方便。

我个人还是比较推崇block的,所以,这种还是比较习惯的

你可能感兴趣的:(iOS中UIAlertController的使用)