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;
    }
    



     

  • 相关阅读:
    IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是?
    说说 IoC 中的继承和 Java 继承的区别
    bean 的 scope 有几种类型?请详细列举。
    简单谈谈 IoC 容器的原理
    谈谈你对 Spring IoC 和 DI 的理解,它们有什么区别?
    day13-14 内置函数
    day12 生成器(重要)
    day11 闭包和迭代器
    day10 函数进阶
    day09 函数
  • 原文地址:https://www.cnblogs.com/vonk/p/4277070.html
Copyright © 2011-2022 走看看