響應UIAlertView的按鈕點擊動做

首先,視圖控制器必須得實現協議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;  
    }
相關文章
相關標籤/搜索