IOS 模态弹窗与操作版使用 UIAlertController

IOS8 以后UIAlertView 改用 UIAlertController 实现模态窗和操作板。UIAlertController 的使用与UIAlerView 非常不同,它实际上是把弹窗内容与显示方式、按钮列表、分离。实现起来非常简单。如下
1.调用静态方法创建弹窗控制器 alertControllerWithTitle

声明弹窗控制器,title 表示弹窗的标题,message表示弹窗文字内容,重点是preferredStyle 表示弹窗的显示方式,UIAlertControllerStyleActionSheet操作版方式显示,UIAlertControllerStyleAlert 模态窗方式

 // 创建控制器
    UIAlertController* alertConrtoll = [UIAlertController alertControllerWithTitle:@"错误" message:@"网络错误,获取失败" preferredStyle:UIAlertControllerStyleActionSheet];
2.为弹窗控制器增加按钮 UIAlertAction

UIAlertActions 是弹窗按钮类,通过静态方法actionWithTitle 创建,style表示按钮风格,handler是按钮被点击的回调函数。我们创建完按钮组件通过 addAction加入弹窗控制器

 // 创建弹窗按钮组件
    UIAlertAction* okBtn = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler: nil];
    UIAlertAction* cancelBtn = [UIAlertAction actionWithTitle:@"重新获取" style:UIAlertActionStyleCancel handler: nil];
    // 添加按钮
    [alertConrtoll addAction:okBtn];
    [alertConrtoll addAction:cancelBtn];
显示弹窗

显示弹窗和插入视图控制器方法一致。

[self presentViewController:alertConrtoll animated:YES completion:nil];
UIAlertController 属性
名称 类型 说明 默认值
title NSString 标题
preferredStyle UIAlertControllerStyle 弹窗显示方式,只读
actions NSArray 弹窗按钮列表,只读
UIAlertAction 属性
名称 类型 说明 默认值
enabled BOOL 是否启用
title NSString 标题
style UIAlertActionStyle 按钮风格 UIAlertActionStyleDefault
UIAlertController API
  • + (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle 创建弹窗控制器并且设置标题,内容,显示风格
  • - (void)addTextFieldWithConfigurationHandler:(void (^ __nullable)(UITextField *textField))configurationHandler 添加可输入弹窗
UIAlertAction API
  • + (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler 创建弹窗按钮并且设置标题和风格、处理事件

你可能感兴趣的:(ios,objective-c,swift,xcode)