iOS UIAlertView

iOS 开发中经常会遇到需要弹窗提示的情况(这个再浏览器端我们经常会遇到)

如下图:

iOS UIAlertView_第1张图片


这个是怎么实现的了?

其实很简单iOS提供一个类  UIAlertView

我们使用他即可

 UIAlertView *alertV=[[UIAlertView alloc]initWithTitle:@"alert标题" message:@"alertMesaage" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
    [alertV show];

快去试试看吧


下来我们看下最后一个参数,ohterButtonTitles 他是可以输入多个值的,比如:

    UIAlertView *alertV=[[UIAlertView alloc]initWithTitle:@"alert标题" message:@"alertMesaage" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"第一次",@"第二次",@"第三次", nil];
    [alertV show];

那么他出来的效果如下:

iOS UIAlertView_第2张图片


界面是现实出来 但是最红我们还是要使用他的,问题就来了 我们点击取消 还是确定 

这个时候我们回头看刚才的方法里面 有个Delegate 我们设置的self  那么是不是又用到代理了

是的,万能的代理又出现了 

我们需要实现一个协议UIAlertViewDelegate

我们实现一个方法用来监测 alert 点击了哪个选项

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


此时我们需要给当前类添加协议  

@interface ViewController ()<UIAlertViewDelegate>

我们以第个样式为例实现协议的方法

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    switch (buttonIndex) {
        case 0:{
            
            NSLog(@"取消");
        }
            break;
        case 1:{
            NSLog(@"第一次");
        }
            break;
        case 2:{
            NSLog(@"第二次");
        }
            break;
        case 3:{
            NSLog(@"第三次");
        }
            break;
            
        default:
            break;
    }
}


好了 基本完成




苹果开发群 :414319235  欢迎加入  欢迎讨论问题





你可能感兴趣的:(ios,uialertview)