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 *> | 弹窗按钮列表,只读 |
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
创建弹窗按钮并且设置标题和风格、处理事件