首先,視圖控制器必須得實(shí)現(xiàn)協(xié)議UIAlertViewDelegate中的方法,并指定delegate為self,才能使彈出的Alert窗口響應(yīng)點(diǎn)擊事件。具體代碼如下:
#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UIAlertViewDelegate>@end
ViewController.m中的詳細(xì)代碼:
- (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]; //設(shè)置標(biāo)題與信息,通常在使用frame初始化AlertView時(shí)使用 alert.title = @"AlertViewTitle"; alert.message = @"AlertViewMessage"; //這個(gè)屬性繼承自UIView,當(dāng)一個(gè)視圖中有多個(gè)AlertView時(shí),可以用這個(gè)屬性來區(qū)分 alert.tag = 0; //只讀屬性,看AlertView是否可見 NSLog(@"%d",alert.visible); //通過給定標(biāo)題添加按鈕 [alert addButtonWithTitle:@"addButton"]; //按鈕總數(shù) NSLog(@"number Of Buttons :%d",alert.numberOfButtons); //獲取指定索引的按鈕標(biāo)題 NSLog(@"buttonTitleAtIndex1:%@",[alert buttonTitleAtIndex:1]); NSLog(@"buttonTitleAtIndex2:%@",[alert buttonTitleAtIndex:2]); //獲取取消按鈕的索引 NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex); //獲取第一個(gè)其他按鈕的索引 NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex); //顯示AlertView [alert show]; [alert release];}#PRagma marks -- UIAlertViewDelegate --//根據(jù)被點(diǎn)擊按鈕的索引處理點(diǎn)擊事件-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"clickButtonAtIndex:%d",buttonIndex);}//AlertView已經(jīng)消失時(shí)執(zhí)行的事件-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{ NSLog(@"didDismissWithButtonIndex");}//ALertView即將消失時(shí)的事件-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex{ NSLog(@"willDismissWithButtonIndex");}//AlertView的取消按鈕的事件-(void)alertViewCancel:(UIAlertView *)alertView{ NSLog(@"alertViewCancel");}//AlertView已經(jīng)顯示時(shí)的事件-(void)didPresentAlertView:(UIAlertView *)alertView{ NSLog(@"didPresentAlertView");}//AlertView即將顯示時(shí)-(void)willPresentAlertView:(UIAlertView *)alertView{ NSLog(@"willPresentAlertView");}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注