UIAlertView,UIActionSheet如何响应选项事件

一、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 = @"女";
    }
}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 若有一天你也会发现 在那灿若星河的日子里 你也曾被我写在诗里 多年以后,若再回首 是否仍会在意 有一个人,安睡在时...
    欧阳半月阅读 322评论 3 4
  • 91助手创始人熊俊先生说过,互联网公司最大的浪费是做出了一款没有人用的产品。一款互联网产品,之所以被设计和开发出来...
    邹志楠阅读 1,196评论 2 20
  • 曾满怀希望从学校踏入社会!曾胸有成竹、信心百倍的告诉自己及家人,一定会有所成!曾以为外面的世界五彩缤纷,美好无处不...
    左岸那缕微光阅读 497评论 0 0
  • 全身心投入:拥抱焦虑能帮助你更好地应对挑战 无论是对自己说“我很平静”还是说“我很兴奋”,其实都不能改变你面对压力...
    love_focus阅读 304评论 0 1