美文网首页
UIAlertView,UIActionSheet如何响应选项事

UIAlertView,UIActionSheet如何响应选项事

作者: 若水V_V | 来源:发表于2015-09-17 16:58 被阅读213次

    一、UIAlertView:警告弹出窗口。主要用于提示用户一些操作后果,像退出程序等。一般如下代码创建一个警告窗口。

     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil 
                                               message:@"是否退出当前账号?" delegate:self 
                                   cancelButtonTitle:@"否" otherButtonTitles:@"是", nil];
    [alert show];//调用show才会显示警告。
    

    如何实现响应“否”、“是”按钮呢?这需要它的代理对象实现UIAlertViewDelegate协议中的方法:

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 1) {  
        [UserData clearUser];
        LoginViewController *next = [[LoginViewController alloc] init];
        [self.navigationController pushViewController:next animated:YES];
      }
    }
    

    警告窗口上的按钮从左向右编号从0开始一次增加。所以可以通过判断buttonindex来知道用户选择了哪个按钮。

    二、UIActionSheet:动作表单。也是弹出一个菜单供用户选择相应的操作。

    UIActionSheet *sheetView = [[UIActionSheet alloc] initWithTitle:@"修改头像" 
                                  delegate:self cancelButtonTitle:@"取消"
                    destructiveButtonTitle:nil otherButtonTitles:@"从相册选择",@"拍照", nil];
    sheetView.tag = 1;
    [sheetView showInView:self.view];
    

    要响应你的选择也需要当前代理self实现UIActionSheetDelegate协议。注意其button编号是从other button开始不编号 cancel button.
    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (actionSheet.tag == 1) {//头像
    if (buttonIndex == 0) {

        }else if (buttonIndex == 1){
            
        }
    }else if(actionSheet.tag == 2){//性别
        if (buttonIndex == 0) {
            sexlab.text = @"男";
        }else if (buttonIndex == 1){
            sexlab.text = @"女";
        }
    }
    

    }

    相关文章

      网友评论

          本文标题:UIAlertView,UIActionSheet如何响应选项事

          本文链接:https://www.haomeiwen.com/subject/qsebcttx.html