IOS 中的三种弹框模式

来源:互联网 发布:mysql全国地区数据库 编辑:程序博客网 时间:2024/06/05 17:16

#pragma mark 方法1

/**

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

 */

- (void)use1

{

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

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

    

    // 2.显示在屏幕上

    [alert show];

}


#pragma mark 方法2

/**

 *  用在IOS8,没有用到代理

 */

- (void)use2

{

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

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


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

   UIAlertAction *cancle = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:^(UIAlertAction *action) {

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

    }];

    UIAlertAction *confirm = [UIAlertActionactionWithTitle:@"确定"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction *action) {

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

    }];

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

    [alertVc addAction:cancle];

    [alertVc addAction:confirm];

    

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

    [selfpresentViewController:alertVc animated:YEScompletion:^{

        nil;

    }];

}


#pragma mark 方法3

/**

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

 */

- (void)use3

{

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

    UIAlertAction *cancle = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:^(UIAlertAction *action) {

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

    }];

    UIAlertAction *confirm = [UIAlertActionactionWithTitle:@"确定"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction *action) {

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

    }];

    [alertVc addAction:cancle];

    [alertVc addAction:confirm];

    

    [selfpresentViewController:alertVc animated:YEScompletion:^{

        nil;

    }];

}


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

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

{

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

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

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

}

0 0