• UIImagePickerController的知识点总结


    1UIImagePickerController是系统提供的用来获取图片或视频的接口,使用UIImagePickerController类来获取图片的基本步骤如下:

     

    a.初始化UIImagePickerController

    b.设置UIImagePickerController实例的数据来源

    c.设置UIImagePickerController实例的代理

    d.设置是否允许编辑图片,若允许则allowsEditing属性值置为YES

    e.设置完UIImagePickerController实例的属性之后,在需要获取图片时要跳转到图像选取控制器当中去选取或拍摄图片

    f.完成图片的选取后回调代理方法

     

    2 UIImagePickerController数据来源:

    1.UIImagePickerControllerSourceTypePhotoLibrary:表示从照片库/集选取照片

    2.UIImagePickerControllerSourceTypeCamera:表示从摄像头选取照片

    3.UIImagePickerControllerSourceTypeSavedPhotosAlbum:表示仅仅从相册中选取照片。

    判断设备是否支持照相机/图片库/相册功能

    UIImagePickerControllerSourceTypePhotoLibrary ,//来自图库

    UIImagePickerControllerSourceTypeCamera ,//来自相机

    UIImagePickerControllerSourceTypeSavedPhotosAlbum //来自相册

    判断设备是否支持前置摄像头/后置摄像头

    UIImagePickerControllerCameraDeviceRear,

    UIImagePickerControllerCameraDeviceFront

    判断设备是否支持前置摄像头闪光灯/后置摄像头闪光灯

    UIImagePickerControllerCameraDeviceRear,

     UIImagePickerControllerCameraDeviceFront

    返回前置摄像头/后置摄像头支持的拍摄类型

    UIImagePickerControllerCameraDeviceRear,

    UIImagePickerControllerCameraDeviceFront

    返回照相机/相册/照片库所支持的媒体类型

    字典中的键:

    UIImagePickerControllerMediaType ;指定用户选择的媒体类型(文章最后进行扩展)

    UIImagePickerControllerOriginalImage ;原始图片

    UIImagePickerControllerEditedImage ;修改后的图片

    UIImagePickerControllerCropRect ;裁剪尺寸

    UIImagePickerControllerMediaURL ;媒体的URL

    UIImagePickerControllerReferenceURL ;原件的URL

    UIImagePickerControllerMediaMetadata;当来数据来源是照相机的时候这个值才有效

    返回类型有照片和视频

     UIImagePickerControllerCameraCaptureModePhoto,

     UIImagePickerControllerCameraCaptureModeVideo

    返回类型有kUTTypeMovie,kUTTypeImage,其他类型均在下

    kUTTypeImage

    const CFStringRef  kUTTypeImage ;抽象的图片类型

    const CFStringRef  kUTTypeJPEG ;

    const CFStringRef  kUTTypeJPEG2000 ;

    const CFStringRef  kUTTypeTIFF ;

    const CFStringRef  kUTTypePICT ;

    const CFStringRef  kUTTypeGIF ;

    const CFStringRef  kUTTypePNG ;

    const CFStringRef  kUTTypeQuickTimeImage ;

    const CFStringRef  kUTTypeAppleICNS 

    const CFStringRef kUTTypeBMP;

    const CFStringRef  kUTTypeICO;

    kUTTypeMovie

    const CFStringRef  kUTTypeAudiovisualContent ;抽象的声音视频

    const CFStringRef  kUTTypeMovie ;抽象的媒体格式(声音和视频)

    const CFStringRef  kUTTypeVideo ;只有视频没有声音

    const CFStringRef  kUTTypeAudio ;只有声音没有视频

    const CFStringRef  kUTTypeQuickTimeMovie ;

    const CFStringRef  kUTTypeMPEG ;

    const CFStringRef  kUTTypeMPEG4 ;

    const CFStringRef  kUTTypeMP3 ;

    const CFStringRef  kUTTypeMPEG4Audio ;

    const CFStringRef  kUTTypeAppleProtectedMPEG4Audio;

    1、//判断设备是ipad

    #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

    注意:打开相册:(区分pad和iphone)

      a.如果从一个导航按钮处呈现,使用:presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;

      b.如果要从一个视图出呈现,使用:presentPopoverFromRect:inView:permittedArrowDirections:animated:

             

      c.如果设备旋转以后,位置定位错误需要在父视图控制器的下面方法里面重新定位:didRotateFromInterfaceOrientation:(在这个方法体里面重新设置rect)

      然后再次调用:

    - (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated

    2、imagePickerController.allowsEditing = NO;//不显示图片剪裁框;

    如果不显示图片,在获取图片的方法里获取设置成如下:

     image = [info objectForKey:UIImagePickerControllerOriginalImage];

     

     

     

  • 相关阅读:
    艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布
    Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法
    小米抢购神器-开放源码
    python语法
    python运算符
    python字符串
    python多线程,多进程编程。
    subprocess模块
    jenkins
    python中的lxml模块
  • 原文地址:https://www.cnblogs.com/yuhao309/p/5716026.html
Copyright © 2020-2023  润新知