zoukankan      html  css  js  c++  java
  • AlertView的三种弹窗模式

    #pragma mark 方法1

    /**

     *  用在IOS7,用到了代理

     */

    - (void)use1

    {

        // 1.创建一个中间弹框,有取消确定按钮,设置代理为当前控制器,由控制器监听点击了“取消”还是“确定”按钮

        UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"提示" message:@"点击了图片按钮" delegate:selfcancelButtonTitle:@"取消" otherButtonTitles:@"确定"nil];

        

        // 2.显示在屏幕上

        [alert show];

    }

    #pragma mark 监听方式1中出现的弹框中的按钮点击,控制器来监听点击了取消还是确定按钮

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

    {

        // 默认取消按钮索引为0

        if (buttonIndex == 0NSLog(@"点击了取消按钮");

        else NSLog(@"点击了确定按钮");

    }

     

     

     

    #pragma mark 方法2

    /**

     *  用在IOS8,没有代理。点击按钮时要执行的操作放在了block中,因此不需要设置代理

     */

    - (void)use2

    {

        // 1.创建弹框控制器, UIAlertControllerStyleAlert这个样式代表弹框显示在屏幕中央

        UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像"preferredStyle:UIAlertControllerStyleAlert];

     

        // 2.添加取消按钮,block中存放点击了取消按钮要执行的操作

       UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action) {

            NSLog(@"点击了取消按钮");

        }];

        UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) {

            NSLog(@"点击了确定按钮");

        }];

        // 3.取消确定按钮加入到弹框控制器中

        [alertVc addAction:cancle];

        [alertVc addAction:confirm];

        

        // 4.控制器 展示弹框控件,完成时不做操作

        [self presentViewController:alertVc animated:YES completion:^{

            nil;

        }];

    }

     

     

     

     

    #pragma mark 方法3

    /**

     *  用在IOS8,没有用到代理。跟方式2唯一不同的是:弹框的样式变为“UIAlertControllerStyleActionSheet”, 弹框出现在屏幕底部

     */

    - (void)use3

    {

        UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像"preferredStyle:UIAlertControllerStyleActionSheet];

        UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action) {

            NSLog(@"点击了取消");

        }];

        UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) {

            NSLog(@"点击了确定按钮");

        }];

        [alertVc addAction:cancle];

        [alertVc addAction:confirm];

        

        [self presentViewController:alertVc animated:YES completion:^{

            nil;

        }];

    }

     

     
  • 相关阅读:
    进程间通信 —— 命名管道
    判断当前线程是否有管理者权限
    获取操作系统OS等相关信息
    VS2017编译动态链接库报错
    git rebase 和 git merger
    Android开发之深入理解泛型extends和super的区别
    Android开发之深入理解Android Studio构建文件build.gradle配置
    Android开发之深入理解Android 7.0系统权限更改相关文档
    Android 开发之深入理解安卓调试桥各种错误解决办法
    自定义弹窗 VS AlertDialog分享弹窗
  • 原文地址:https://www.cnblogs.com/zyj442714794/p/4593916.html
Copyright © 2011-2022 走看看