zoukankan      html  css  js  c++  java
  • (转) UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。
    
    具体代码如下:
    #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;
    }
  • 相关阅读:
    [NOI2015]软件包管理器(树链剖分)
    [题解][luogu p1273]有线电视网
    [题解][洛谷P1373 小a和uim之大逃离]
    《LoadRunner 没有告诉你的》之五——无所不在的性能测试 (已完稿)
    《LoadRunner没有告诉你的》之六——获取有效的性能需求
    《LoadRunner 没有告诉你的》之一——描述性统计与性能结果分析
    《LoadRunner 没有告诉你的》之四——理解性能
    《LoadRunner 没有告诉你的》之三——理发店模型
    人活着就是要学会持续的奔跑!【二】
    人活着就是要学会持续的奔跑!【一】
  • 原文地址:https://www.cnblogs.com/ak23173969/p/4368180.html
Copyright © 2011-2022 走看看