您的位置:首页 > 产品设计 > UI/UE

UIAlertView的基本使用和对话框中按钮的事件处理方法

2015-06-04 19:59 756 查看
     转载自http://blog.csdn.net/enuola/article/details/7900346,感谢作者

首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。
具体代码如下:

ViewController.h中的代码如下:

[cpp] view
plaincopy

#import <UIKit/UIKit.h>  

  

@interface ViewController : UIViewController<UIAlertViewDelegate>  

  

@end  

ViewController.m中的详细代码:

[java] view
plaincopy

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

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息