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

    首先,视图控制器必须得实现协议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;
    }
  • 相关阅读:
    专利质检助手
    商务代表 销售 区别
    javax.servlet.jsp.tagext.TagAttributeInfo.<init> tomcat-embed-core-8.0.35
    poli-java开源BI软件
    QFLOW ECM软件 政府机构 自动化工作流程 文件管理
    Devops Tools
    吴军博士的新书《见识》
    轻流 CEO 薄智元 BPM (SaaS aPaaS) 低(无)代码平台 乐高积木
    北京 知识产权 交易中心
    Java高并发秒杀API系列
  • 原文地址:https://www.cnblogs.com/zxykit/p/5197856.html
Copyright © 2011-2022 走看看