IAlertView *alert =[[ UIAlertView alloc ] initWithTitle : @"hello"
message : @"ipad ,i come"
delegate : self
cancelButtonTitle : @"ok"
otherButtonTitles : nil ];
[alert show ];
[alert release ];
但是,如果复杂一点,就麻烦了,如果上面加上几个按钮,如:
UIAlertView *alert =[[ UIAlertView alloc ] initWithTitle : @"hello"
message : @"ipad ,i come"
delegate : self
cancelButtonTitle : @"ok"
otherButtonTitles :@ "cancel",@"Ignore",nil ];
view 中会显示3个按钮,那怎么知道用户选择了哪个按钮呢?
步骤如下:
在.m文件中添加对alertview事件的响应,如下: - ( void ) alertView:( UIAlertView *)alertview
clickedButtonAtIndex:( NSInteger )buttonIndex{
if (buttonIndex== 0 )
{
NSLog ( @"%@" ,alertview. title );
}
}
如果此类中有多个 弹出框 那该如何区分是那个弹出框呢
利用tag
UIAlertView *errorDialogs= [[ UIAlertView alloc ] initWithTitle : @" 订单创建失败 " message: [ orderresult objectForKey: @"remark" ] delegate: self cancelButtonTitle : @" 返回 " otherButtonTitles : nil , nil ];
errorDialogs. tag = 3 ;
[errorDialogs show ];
[errorDialogs release ];
然后在判断的时候这样子
- ( void )alertView:( UIAlertView *)alertView clickedButtonAtIndex:( NSInteger )buttonIndex
{
if (buttonIndex== 0 ) {
if (alertView. tag == 3 )
{
//[ self . navigationController popViewControllerAnimated : YES ];
}
}
}
以上方法实现了当前.m中所有UIAlertView的事件响应, alertview 指明是哪个view, buttonIndex 指明是哪介按钮。