码迷,mamicode.com
首页 > 移动开发 > 详细

iOS UIAlertView

时间:2015-07-29 23:13:01      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:ios   uialertview   uialertviewdelegate   

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

如下图:

技术分享


这个是怎么实现的了?

其实很简单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];

那么他出来的效果如下:

技术分享


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

这个时候我们回头看刚才的方法里面 有个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

标签:ios   uialertview   uialertviewdelegate   

原文地址:http://blog.csdn.net/lwjok2007/article/details/47133551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!