#PRagma mark方法1
/**
* 用在IOS7,用到了代理
*/
- (void)use1
{
// 1.创建一个中间弹框,有“取消”和“确定按钮”,设置代理为当前控制器,由控制器监听点击了“取消”还是“确定”按钮
UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"点击了图片按钮"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];
// 2.显示在屏幕上
[alertshow];
}
#pragma mark监听方式1中出现的弹框中的按钮点击,控制器来监听点击了取消还是确定按钮
- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//默认取消按钮索引为0
if(buttonIndex ==0)NSLog(@"点击了取消按钮");
elseNSLog(@"点击了确定按钮");
}
#pragma mark方法2
/**
* 用在IOS8,没有代理。点击按钮时要执行的操作放在了block中,因此不需要设置代理
*/
- (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.将“取消”和“确定”按钮加入到弹框控制器中
[alertVcaddAction:cancle];
[alertVcaddAction:confirm];
// 4.控制器展示弹框控件,完成时不做操作
[selfpresentViewController:alertVcanimated: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(@"点击了确定按钮");
}];
[alertVcaddAction:cancle];
[alertVcaddAction:confirm];
[selfpresentViewController:alertVcanimated:YEScompletion:^{
nil;
}];
}