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



     

  • 相关阅读:
    [ solr入门 ] 在schema.xml中加入自己的分词工具
    SQLServer2005获取大数据集时内存不足的解决办法[转]
    java位操作基本教程[转]
    log4j的最佳实践(转)
    [ lucene扩展 ] "Did you mean" feature with Apache Lucene SpellChecker
    java image filters[02]过滤器初探
    PHP serialize 和 JSON 解析与区别
    js 实现 静态缓存页面中访问动态IP下载地址
    smarty section foreach遍历多维数组
    【转】window.open 参数
  • 原文地址:https://www.cnblogs.com/vonk/p/4277070.html
Copyright © 2020-2023  润新知