IT虾米网

iOS调用相册和摄像头详解

luoye 2018年06月24日 手机开发 409 0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
      
    UIImageView *imageView = [[UIImageView alloc] init]; 
    imageView.frame = CGRectMake(0, 0, 80, 120); 
    imageView.backgroundColor = [UIColor greenColor]; 
    imageView.tag = 101; 
      
    [self.view addSubview:imageView]; 
      
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    button.frame = CGRectMake(0, 200, 100, 30); 
    [button setTitle:@"打开相册" forState:UIControlStateNormal]; 
    [button addTarget:self action:@selector(openPics) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:button]; 
      
    UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    button2.frame = CGRectMake(0, 300, 100, 30); 
    [button2 setTitle:@"打开相机" forState:UIControlStateNormal]; 
    [button2 addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:button2]; 
} 
  
// 打开相机 
- (void)openCamera { 
    // UIImagePickerControllerCameraDeviceRear 后置摄像头 
    // UIImagePickerControllerCameraDeviceFront 前置摄像头 
    BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]; 
    if (!isCamera) { 
        NSLog(@"没有摄像头"); 
        return ; 
    } 
      
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    imagePicker.delegate = self; 
    // 编辑模式 
    imagePicker.allowsEditing = YES; 
      
    [self  presentViewController:imagePicker animated:YES completion:^{ 
    }]; 
  
      
} 
  
  
// 打开相册 
- (void)openPics { 
  
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    imagePicker.delegate = self; 
    [self  presentViewController:imagePicker animated:YES completion:^{ 
    }]; 
      
      
} 
  
  
// 选中照片 
  
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 
    NSLog(@"%@", info); 
    UIImageView  *imageView = (UIImageView *)[self.view viewWithTag:101]; 
    // UIImagePickerControllerOriginalImage 原始图片 
    // UIImagePickerControllerEditedImage 编辑后图片 
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; 
    imageView.image = image; 
    [picker dismissViewControllerAnimated:YES completion:NULL]; 
      
} 
  
  
  
// 取消相册 
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [picker dismissViewControllerAnimated:YES completion:NULL]; 
  
}

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

ios 时间类转化为字符串详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。