zoukankan      html  css  js  c++  java
  • UIImagePickerController和UIAlertController结合使用

    在处理个人资料 - 头像的时候,通常有两个选项,一个是调用系统相机,一个是调用系统相册。这里要使用的就是UIImagePickerController方法。

    在头像位置的imageView添加一个手势,或者添加一个透明的按钮,用来实现click方法

    - (IBAction)click:(id)sender{

        //创建提醒视图

        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提醒" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

        UIAlertAction *alertAction = [UIAlertAction actionWithTitle:@"相机" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {

             //判断设备是否存在摄像头,有就调用系统相机,没有,就提醒用户

            if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

                //创建相机

                UIImagePickerController *picker = [[UIImagePickerController alloc] init];

                //文件由来

                picker.sourceType = UIImagePickerControllerSourceTypeCamera; //指定数据来源来自于相机

                picker.delegate  = self;// 指定代理

                picker.allowsEditing = YES; //允许编辑

                

                //模态弹出

                [self presentViewController:picker animated:YES completion:nil];

            }else{

                //没有摄像头,提醒用户 您的设备没有摄像头

                UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"您的设备没有摄像头" message:nil preferredStyle:UIAlertControllerStyleAlert];

                UIAlertAction *alertAction1 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil];

                [alertController addAction:alertAction1];

                [self presentViewController:alertController animated:YES completion:nil];

            }

        }];

        [alertController addAction:alertAction];

        UIAlertAction *alertAction2 = [UIAlertAction actionWithTitle:@"相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

            UIImagePickerController *pickerC = [[UIImagePickerController alloc] init];

            pickerC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;//指定数据来源为相册

            pickerC.delegate = self//指定代理

            pickerC.allowsEditing = YES// 允许编辑

            [self presentViewController:pickerC animated:YES completion:nil];

        }];

        [alertController addAction:alertAction2];

        [self presentViewController:alertController animated:YES completion:nil];

    }

     

    //选取图片之后执行的方法

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

        NSLog(@"%@",info);

        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

        self.photoImage.image = image;

        [picker dismissViewControllerAnimated:YES completion:nil];

    }

  • 相关阅读:
    javascript 离开网页时 触发函数
    dhl:简单的WebConfig加密 连接字符加密解密
    javascript获取网页URL地址及参数等
    dhl:img 的src 在 ie7下是将全路径。>ie8和firefox没有问题
    有趣有用网址大全
    VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
    iis6配置支持.net4.0
    闲语MVC3和Razor 转自:啊不
    dhl:4.0服务器端控件
    如何在C#中实现窗体全屏模式
  • 原文地址:https://www.cnblogs.com/xueyao/p/5199598.html
Copyright © 2011-2022 走看看