UIImagePickerController

本文详细介绍了如何使用UIImagePickerController进行个性化设置,包括状态栏样式调整、导航栏颜色更改、显示或隐藏相机控制按钮、保存图片及视频到系统相册等功能,并提供了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:让 UIImagePickerController 显示后 的状态栏始终保持某一种风格.

[csharp]  view plain copy
  1. -(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{  
  2.     [[UIApplication  sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];  
  3. }  
  4. -(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{  
  5.     [[UIApplication  sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];  
  6. }  

2:修改 UIImagePickerController 顶部导航栏的颜色风格

[html]  view plain copy
  1. [[imagePickerController navigationBar] setTintColor:[UIColor colorWithRed:78.0/255.0 green:148.0/255.0 blue:201.0/255.0 alpha:1]];  

此方式同时适用于:短信,邮件等系统界面

3:是否显示照相机标准的控件库

[csharp]  view plain copy
  1. imagePickerController.showsCameraControls = NO;  

4:将图片保存至系统照片库

[csharp]  view plain copy
  1. UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);  

成功失败后的回调:

[csharp]  view plain copy
  1. - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo  
  2. {  
  3.     myImageView.image = image;  
  4.     NSLog(@"%@",error);  
  5. }  


5:将视频保存至系统照片库
[csharp]  view plain copy
  1. NSString* path = [[info objectForKey:UIImagePickerControllerMediaURL] path];  
  2. // 保存视频  
  3. UISaveVideoAtPathToSavedPhotosAlbum(path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);   

成功失败后的回调:

[csharp]  view plain copy
  1. - (void)video: (NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo  
  2. {  
  3.     NSLog(@"%@",videoPath);  
  4.     NSLog(@"%@",error);  
  5. }  


[csharp]  view plain copy
  1. //首先判断设备是否支持拍照功能  
  2.     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {  
  3.         if (imagePickerController == nil) {  
  4.               
  5.               
  6.             imagePickerController=[[UIImagePickerController alloc] init];  
  7.             //只开启拍照  
  8.             imagePickerController.sourceType=UIImagePickerControllerSourceTypeCamera;  
  9.               
  10.               
  11.             //拍照 摄影 同时开启  
  12.             //imagePickerController.mediaTypes =  [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];  
  13.             //只开启 摄影  
  14.             //imagePickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];  
  15.               
  16.               
  17.               
  18.             imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;//视频质量:最好的          
  19.             imagePickerController.cameraDevice =  UIImagePickerControllerCameraDeviceFront;  //默认启用前置摄像头  
  20.             imagePickerController.delegate = self;  
  21.             imagePickerController.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;  
  22.             imagePickerController.showsCameraControls = YES;//是否显示照相机标准的控件库  
  23.             [imagePickerController setAllowsEditing:NO];//是否加入照相后预览时的编辑功能  
  24.   
  25.             //为相机添加自定义拍摄时的视图  
  26.             //imagePickerController.cameraOverlayView = imagePreviewViewController.view;  
  27.               
  28.               
  29.             CGRect rect = [[UIScreen mainScreen] bounds];  
  30.             rect.origin.y = rect.origin.y +50;  
  31.             rect.size.height = rect.size.height -130;  
  32.             UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom];    
  33.             [btn setFrame:rect];  
  34.             //[btn setTitle:@"试试" forState:UIButtonTypeRoundedRect];  
  35.             [btn addTarget:self action:@selector(SaveCamera) forControlEvents:UIControlEventTouchUpInside];  
  36.             [imagePickerController.view addSubview:btn];  
  37.               
  38.         }  
  39.           
  40.         [self presentModalViewController:imagePickerController animated:YES];  
  41.     }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值