IOS 中的三种弹框模式

#pragma mark 方法1

/**

 *  一般用在IOS8以前,用到了代理

 */

- (void)use1

{

    // 1.创建一个中间弹框,有取消确定按钮,设置代理为当前控制器

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"点击了图片按钮" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

    

    // 2.显示在屏幕上

    [alert show];

}


#pragma mark 方法2

/**

 *  用在IOS8,没有用到代理

 */

- (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;

    }];

}


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

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

{

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

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

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值