博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS - UIAlertController
阅读量:6569 次
发布时间:2019-06-24

本文共 8499 字,大约阅读时间需要 28 分钟。

前言

NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertController : UIViewController    @available(iOS 8.0, *)       public class UIAlertController : UIViewController

1、alertController 的创建

  • Objective-C

    // 1. 创建时不添加按钮        // 实例化 alertController 对象        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告"                                                                                  message:@"真的要关闭 !"                                                                           preferredStyle:UIAlertControllerStyleAlert];        // 显示,模态视图显示        [self presentViewController:alertController animated:YES completion:nil];    // 2. 创建时添加按钮等信息        // 实例化 UIAlertController 对象        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告"                                                                                  message:@"真的要关闭 !"                                                                           preferredStyle:UIAlertControllerStyleAlert];        // 创建按钮        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消"                                                                style:UIAlertActionStyleCancel                                                              handler:nil];        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定"                                                            style:UIAlertActionStyleDefault                                                          handler:nil];        UIAlertAction *noAction = [UIAlertAction actionWithTitle:@"考虑一下"                                                            style:UIAlertActionStyleDestructive                                                          handler:nil];        // 向 alertController 上添加按钮        [alertController addAction:cancelAction];        [alertController addAction:okAction];        [alertController addAction:noAction];        // 显示 alertController 视图        [self presentViewController:alertController animated:YES completion:nil];
  • Swift

    // 1. 创建时不添加按钮        // 实例化 alertController 对象        let alertController:UIAlertController = UIAlertController(title: "警告",                                                                 message: "真的要关闭 !",                                                          preferredStyle: .Alert)        // 显示,模态视图显示        self.presentViewController(alertController, animated: true, completion: nil)    // 2. 创建时添加按钮等信息        // 实例化 alertController 对象        let alertController:UIAlertController = UIAlertController(title: "警告",                                                                 message: "真的要关闭 !",                                                          preferredStyle: .Alert)        // 创建按钮        let cancelAction:UIAlertAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)        let okAction:UIAlertAction = UIAlertAction(title: "确定", style: .Default, handler: nil)        let noAction:UIAlertAction = UIAlertAction(title: "考虑一下", style: .Destructive, handler: nil)        // 向 alertController 上添加按钮        alertController.addAction(cancelAction)        alertController.addAction(okAction)        alertController.addAction(noAction)        // 显示 alertController 视图        self.presentViewController(alertController, animated: true, completion: nil)

2、alertController 的设置

  • Objective-C

    // 设置警告框类型    /*        UIAlertControllerStyleActionSheet = 0,   上拉菜单,操作表,底部弹出        UIAlertControllerStyleAlert              对话框,警告,中间弹出    */    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告"                                                                              message:@"真的要关闭 ?"                                                                       preferredStyle:UIAlertControllerStyleAlert];    // 设置按钮类型    /*        UIAlertActionStyleDefault = 0,  默认蓝色按钮,可以有多个        UIAlertActionStyleCancel,       取消按钮,显示在左侧或最下边,有且只能有一个        UIAlertActionStyleDestructive   红色警示按钮,可以有多个,                                        《iOS 用户界面指南》要求所有的 “警示” 样式按钮都必须排名第一    */    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消"                                                            style:UIAlertActionStyleCancel                                                          handler:nil];    // 设置按钮点击响应事件    UIAlertAction *closeAction = [UIAlertAction actionWithTitle:@"关闭"                                                           style:UIAlertActionStyleDestructive                                                         handler:^(UIAlertAction * _Nonnull action) {        /*            点击了按钮时响应的事件        */    }];    // 添加输入框    /*        只能添加到 UIAlertControllerStyleAlert 上,可以添加多个    */    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {        /*            设置添加的 textField 属性        */    }];    // 添加点击按钮    /*         添加警告框上的按钮,可以添加多个        取消按钮在左侧或最下边,其它按钮按照添加的顺序排列    */    [alertController addAction:cancelAction];    // 设置首选按钮    /*        必须在添加按钮(addAction)完成后设置,iOS 9 新添加        首选的按钮会有加粗效果,只能用在 UIAlertControllerStyleAlert 中    */    alertController.preferredAction = okAction;    // 设置按钮激活状态    /*        YES 按钮激活,可点击。NO 按钮禁用,不可点击    */    okAction.enabled = YES;    // 显示警告框视图    [self presentViewController:alertController animated:YES completion:nil];    // 设置警告框标题    alertController.title = @"登录";    // 设置警告框提示信息    alertController.message = @"请输入用户名和密码登录 !";    // 获取警告框标题    NSString *alertTitle = alertController.title;    // 获取警告框提示信息    NSString *alertMessage = alertController.message;    // 获取警告框类型,readonly    UIAlertControllerStyle alertStyle = alertController.preferredStyle;    // 获取所有输入框,readonly    NSArray
    *textFieldArray = alertController.textFields; // 获取所有按钮,readonly NSArray
    *actionsArray = alertController.actions; // 获取按钮标题,readonly NSString *actionTitle = okAction.title; // 获取按钮类型,readonly UIAlertActionStyle actionStyle = okAction.style; // 获取首选按钮 UIAlertAction *preferredAction = alertController.preferredAction; // 获取按钮激活状态 BOOL actionEnabled = okAction.enabled;
  • Swift

    // 设置警告框类型    /*        case ActionSheet   上拉菜单,操作表,底部弹出        case Alert         对话框,警告,中间弹出    */    let alertController:UIAlertController = UIAlertController(title: "警告",                                                             message: "真的要关闭 !",                                                      preferredStyle: .Alert)    // 设置按钮类型    /*        case Default       默认蓝色按钮,可以有多个        case Cancel        取消按钮,显示在左侧或最下边,有且只能有一个        case Destructive   红色警示按钮,可以有多个,                           《iOS 用户界面指南》要求所有的 “警示” 样式按钮都必须排名第一    */    let cancelAction:UIAlertAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)    // 设置按钮点击响应事件    let closeAction:UIAlertAction = UIAlertAction(title: "关闭",                                                   style: .Destructive) { (action:UIAlertAction) in        /*            点击了按钮时响应的事件        */    }    // 添加输入框    /*        只能添加到 UIAlertControllerStyleAlert 上,可以添加多个    */    alertController.addTextFieldWithConfigurationHandler { (textField:UITextField) in        /*            设置添加的 textField 属性        */    }    // 添加点击按钮    /*        添加警告框上的按钮,可以添加多个        取消按钮在左侧或最下边,其它按钮按照添加的顺序排列    */    alertController.addAction(cancelAction)    // 设置首选按钮    /*        必须在添加按钮(addAction)完成后设置,iOS 9 新添加        首选的按钮会有加粗效果,只能用在 UIAlertControllerStyleAlert 中    */    alertController.preferredAction = okAction    // 设置按钮激活状态    /*        YES 按钮激活,可点击。NO 按钮禁用,不可点击    */    okAction.enabled = true    // 显示警告框视图    self.presentViewController(alertController, animated: true, completion: nil)    // 设置警告框标题    alertController.title = "登录"    // 设置警告框提示信息    alertController.message = "请输入用户名和密码登录 !"    // 获取警告框标题    let alertTitle:String? = alertController.title    // 获取警告框提示信息    let alertMessage:String? = alertController.message    // 获取警告框类型,readonly    let alertStyle:UIAlertControllerStyle = alertController.preferredStyle    // 获取所有输入框,readonly    let textFieldArray:[UITextField]? = alertController.textFields    // 获取所有按钮,readonly    let actionsArray:[UIAlertAction] = alertController.actions    // 获取按钮标题,readonly    let actionTitle:String? = okAction.title    // 获取按钮类型,readonly    let actionStyle:UIAlertActionStyle = okAction.style    // 获取首选按钮    let preferredAction:UIAlertAction? = alertController.preferredAction    // 获取按钮激活状态    let actionEnabled:Bool = okAction.enabled

转载地址:http://jhpjo.baihongyu.com/

你可能感兴趣的文章
Java 重写(Override)与重载(Overload)
查看>>
Javascript调试技巧整理
查看>>
Python学习笔记 - PostgreSQL的使用
查看>>
Linux常用命令
查看>>
turtle练习
查看>>
Oracle Golden Gate 系列 小结
查看>>
Oracle DBMS_STATS 包 和 Analyze 命令的区别
查看>>
【CTS】几个serialno失败项
查看>>
使用Lucene.Net实现全文检索
查看>>
多线程使用场景
查看>>
keras简单介绍与使用
查看>>
UBI系统原理-中【转】
查看>>
继电器是如何成为CPU的(1)【转】
查看>>
多表一对一左关联
查看>>
关于node.js的进程管理
查看>>
tinymce4.x 上传本地图片(自己写个插件)
查看>>
极客学院职业路径图课程视频下载-爬虫
查看>>
java,使用get、post请求url地址
查看>>
基于Maven构建Web项目
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>