文档章节

响应UIAlertView的按钮点击动作

Lambda8421
 Lambda8421
发布于 2015/02/26 20:26
字数 387
阅读 12
收藏 0
首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。

具体代码如下:

ViewController.h中的代码如下:

    #import <UIKit/UIKit.h>  
      
    @interface ViewController : UIViewController<UIAlertViewDelegate>  
      
    @end  



ViewController.m中的详细代码:

    - (void)viewDidLoad  
    {  
        [super viewDidLoad];  
        // Do any additional setup after loading the view from its nib  
          
        //初始化AlertView  
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertViewTest"  
                                                       message:@"message"  
                                                      delegate:self  
                                             cancelButtonTitle:@"Cancel"  
                                             otherButtonTitles:@"OtherBtn",nil];  
        //设置标题与信息,通常在使用frame初始化AlertView时使用  
        alert.title = @"AlertViewTitle";  
        alert.message = @"AlertViewMessage";  
          
        //这个属性继承自UIView,当一个视图中有多个AlertView时,可以用这个属性来区分  
        alert.tag = 0;  
        //只读属性,看AlertView是否可见  
        NSLog(@"%d",alert.visible);  
        //通过给定标题添加按钮  
        [alert addButtonWithTitle:@"addButton"];  
        //按钮总数  
        NSLog(@"number Of Buttons :%d",alert.numberOfButtons);  
        //获取指定索引的按钮标题  
        NSLog(@"buttonTitleAtIndex1:%@",[alert buttonTitleAtIndex:1]);  
        NSLog(@"buttonTitleAtIndex2:%@",[alert buttonTitleAtIndex:2]);  
        //获取取消按钮的索引  
        NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);  
        //获取第一个其他按钮的索引  
        NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);  
        //显示AlertView  
        [alert show];  
        [alert release];  
    }  
      
    #pragma marks -- UIAlertViewDelegate --  
    //根据被点击按钮的索引处理点击事件  
    -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"clickButtonAtIndex:%d",buttonIndex);  
    }  
      
    //AlertView已经消失时执行的事件  
    -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"didDismissWithButtonIndex");  
    }  
      
    //ALertView即将消失时的事件  
    -(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"willDismissWithButtonIndex");  
    }  
      
    //AlertView的取消按钮的事件  
    -(void)alertViewCancel:(UIAlertView *)alertView  
    {  
        NSLog(@"alertViewCancel");  
    }  
      
    //AlertView已经显示时的事件  
    -(void)didPresentAlertView:(UIAlertView *)alertView  
    {  
        NSLog(@"didPresentAlertView");  
    }  
      
    //AlertView即将显示时  
    -(void)willPresentAlertView:(UIAlertView *)alertView  
    {  
        NSLog(@"willPresentAlertView");  
    }  
      
    - (void)viewDidUnload  
    {  
        [super viewDidUnload];  
        // Release any retained subviews of the main view.  
        // e.g. self.myOutlet = nil;  
    }




本文转载自:

共有 人打赏支持
Lambda8421
粉丝 10
博文 121
码字总数 121640
作品 0
闸北
程序员
IOS基础UI之(五)UIAlertView、UIActionSheet和UIAlertContro

IOS基础UI之(五)UIAlertView、UIActionSheet和UIAlertController详解 标签: iosUIAlertViewUIActionSheetUIAlertController 2015-09-20 11:58 340人阅读 评论(3) 收藏 举报 分类: IOS(UI基......

Bob_Zheng
2015/11/26
41
0
Xamarin iOS教程之警告视图

Xamarin iOS教程之警告视图 Xamarin iOS警告视图 如果需要向用户显示一条非常重要的消息时,警告视图(UIAlertView类)就可以派上用场了。它的功能是把需要注意的信息显示给用户。一般显示一...

大学霸
2015/06/23
0
0
iOS9使用提示框的正确实现方式

在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下。 ...

海二少
2016/03/10
23
1
UIAlertView study

首先要自定义一个UIAlertView扩展类,如MAlertView: .h文件 #import <Foundation/Foundation.h> @interface MAlertView : UIAlertView { UITextField *passwdField; NSInteger textFieldCou......

蝴蝶庆庆
2015/08/14
0
0
一个BUG的发现、定位和解决

前言 在iOS 11发布之后,出现了一系列适配相关的问题,UIScrollView在pagingEnabled=YES时滑动手势不灵敏,UITableView的滑动删除功能变动,UIImagePickerViewController的取消按钮点击区域变...

落影loyinglin
2017/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

移除或自定义 WordPress 仪表盘欢迎面板

第一次登录 WordPress 后台仪表盘页面,默认都会显示 WordPress 的欢迎面板: 如果我们要移除这个面板,在主题的 functions.php 中添加下面的代码即可: 12 //移除 WordPress 仪表盘欢迎面...

james_laughing
14分钟前
0
0
HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,...

DemonsI
17分钟前
0
0
eggjs学习笔记

快速初始化 生成项目(要求最低的node版本8.x) npm i egg-init -gegg-init egg-example --type=simplecd egg-examplenpm i 启动项目 npm run dev 配置 环境配置会覆盖默认配置 config...

别人说我名字很长
20分钟前
1
0
Winform Timer控件时间间隔

sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0;//将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //60000:时间间隔1分钟,300000:时间间隔5分钟,600000:...

笑丶笑
21分钟前
0
0
在win10系统下怎样快速切换任务视图

切换窗口:Alt + Tab 任务视图:Win + Tab (松开键盘界面不会消失) 切换任务视图:Win + Ctrl +左/右 创建新的虚拟桌面:Win + Ctrl + D 关闭当前虚拟桌面:Win + Ctrl + F4...

SummerGao
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部