UIImagePickerController 简介
来源:互联网 发布:centos切换输入法 编辑:程序博客网 时间:2024/06/05 09:14
//ImagePickerController获取的资源类型:1.相册(按类型分) 2.相机 3.所有照片(按照时间分)
typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType) {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
} ;
//拍摄视频的质量 1.高清 2.中档清晰度 3.低档清晰度 4.画面大小640*480
typedef NS_ENUM(NSInteger, UIImagePickerControllerQualityType) {
UIImagePickerControllerQualityTypeHigh = 0, // highest quality
UIImagePickerControllerQualityTypeMedium = 1, // medium quality, suitable for transmission via Wi-Fi
UIImagePickerControllerQualityTypeLow = 2, // lowest quality, suitable for tranmission via cellular network
UIImagePickerControllerQualityType640x480 NS_ENUM_AVAILABLE_IOS(4_0) = 3, // VGA quality
UIImagePickerControllerQualityTypeIFrame1280x720 NS_ENUM_AVAILABLE_IOS(5_0) = 4,
UIImagePickerControllerQualityTypeIFrame960x540 NS_ENUM_AVAILABLE_IOS(5_0) = 5,
};
//获取相机资源的类型:1.拍照用 2.拍视频用
typedef NS_ENUM(NSInteger, UIImagePickerControllerCameraCaptureMode) {
UIImagePickerControllerCameraCaptureModePhoto,
UIImagePickerControllerCameraCaptureModeVideo
} __TVOS_PROHIBITED;
//获取相机的镜头:1.后置摄像头 2.前置摄像头
typedef NS_ENUM(NSInteger, UIImagePickerControllerCameraDevice) {
UIImagePickerControllerCameraDeviceRear,
UIImagePickerControllerCameraDeviceFront
} __TVOS_PROHIBITED;
//闪光灯设置 1.拍照时关闭闪光灯 2.自动 3.拍照时打开闪光灯
typedef NS_ENUM(NSInteger, UIImagePickerControllerCameraFlashMode) {
UIImagePickerControllerCameraFlashModeOff = -1,
UIImagePickerControllerCameraFlashModeAuto = 0,
UIImagePickerControllerCameraFlashModeOn = 1
} __TVOS_PROHIBITED;
// info dictionary keys
UIKIT_EXTERN NSString *const UIImagePickerControllerMediaType __TVOS_PROHIBITED; // an NSString (UTI, i.e. kUTTypeImage)
UIKIT_EXTERN NSString *const UIImagePickerControllerOriginalImage __TVOS_PROHIBITED; // a UIImage
UIKIT_EXTERN NSString *const UIImagePickerControllerEditedImage __TVOS_PROHIBITED; // a UIImage
UIKIT_EXTERN NSString *const UIImagePickerControllerCropRect __TVOS_PROHIBITED; // an NSValue (CGRect)
UIKIT_EXTERN NSString *const UIImagePickerControllerMediaURL __TVOS_PROHIBITED; // an NSURL
UIKIT_EXTERN NSString *const UIImagePickerControllerReferenceURL NS_AVAILABLE_IOS(4_1) __TVOS_PROHIBITED; // an NSURL that references an asset in the AssetsLibrary framework
UIKIT_EXTERN NSString *const UIImagePickerControllerMediaMetadata NS_AVAILABLE_IOS(4_1) __TVOS_PROHIBITED; // an NSDictionary containing metadata from a captured photo
UIKIT_EXTERN NSString *const UIImagePickerControllerLivePhoto NS_AVAILABLE_IOS(9_1) __TVOS_PROHIBITED; // a PHLivePhoto
NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIImagePickerController : UINavigationController <NSCoding>
//判断某一种资源类型是否可用
+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType; // returns YES if source is available (i.e. camera present)
//某种资源类型下的可用的资源种类。比如相机资源下:有图片和视频
+ (nullable NSArray<NSString *> *)availableMediaTypesForSourceType:(UIImagePickerControllerSourceType)sourceType; // returns array of available media types (i.e. kUTTypeImage)
//相机设备是否可用
+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice NS_AVAILABLE_IOS(4_0); // returns YES if camera device is available
//闪光灯是否可用
+ (BOOL)isFlashAvailableForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDevice NS_AVAILABLE_IOS(4_0); // returns YES if camera device supports flash and torch.
//相机设备下,抓取图片的模式数组(拍照片是0,拍视频是1)
+ (nullable NSArray<NSNumber *> *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDevice NS_AVAILABLE_IOS(4_0); // returns array of NSNumbers (UIImagePickerControllerCameraCaptureMode)
//代理
@property(nullable,nonatomic,weak) id <UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate;
//输入资源类型1.相册(按类型分) 2.相机 3.所有照片
@property(nonatomic) UIImagePickerControllerSourceType sourceType; // default value is UIImagePickerControllerSourceTypePhotoLibrary.
//多媒体资源类型:有多种图片类型,movie,audio等。UTCoreTypes.h
@property(nonatomic,copy) NSArray<NSString *> *mediaTypes;
// default value is an array containing kUTTypeImage.
//是否允许对选择的图片资源进行编辑,会出现矩形选择框,截取图片
@property(nonatomic) BOOL allowsEditing NS_AVAILABLE_IOS(3_1); // replacement for -allowsImageEditing; default value is NO.
@property(nonatomic) BOOL allowsImageEditing NS_DEPRECATED_IOS(2_0, 3_1);
//允许视频拍摄的最大时间
@property(nonatomic) NSTimeInterval videoMaximumDuration NS_AVAILABLE_IOS(3_1); // default value is 10 minutes.
//视频拍摄的质量
@property(nonatomic) UIImagePickerControllerQualityType videoQuality NS_AVAILABLE_IOS(3_1); // default value is UIImagePickerControllerQualityTypeMedium. If the cameraDevice does not support the videoQuality, it will use the default value.
//是否显示拍照时,对相机控制的组件。比如闪光灯按钮,前后摄像头切换按钮,开始按钮。默认是显示
UIImagePickerControllerSourceTypeCamera.
@property(nonatomic) BOOL showsCameraControls NS_AVAILABLE_IOS(3_1); // set to NO to hide all standard camera UI. default is YES
//拍摄的时候(照片或者视频都有)会在相机上添加覆盖物
@property(nullable, nonatomic,strong) __kindof UIView *cameraOverlayView NS_AVAILABLE_IOS(3_1); // set a view to overlay the preview view.
@property(nonatomic) CGAffineTransform cameraViewTransform NS_AVAILABLE_IOS(3_1); // set the transform of the preview view.
- (void)takePicture NS_AVAILABLE_IOS(3_1);
// programatically initiates still image capture. ignored if image capture is in-flight.
// clients can initiate additional captures after receiving -imagePickerController:didFinishPickingMediaWithInfo: delegate callback
//开始拍摄视频(只针对视频)
- (BOOL)startVideoCapture NS_AVAILABLE_IOS(4_0);
//结束拍摄视频
- (void)stopVideoCapture NS_AVAILABLE_IOS(4_0);
//相机抓取模式:1.拍摄照片 2.拍摄视频
@property(nonatomic) UIImagePickerControllerCameraCaptureMode cameraCaptureMode NS_AVAILABLE_IOS(4_0); // default is UIImagePickerControllerCameraCaptureModePhoto
//摄像头类型: 1.后置摄像头 2.前置摄像头
@property(nonatomic) UIImagePickerControllerCameraDevice cameraDevice NS_AVAILABLE_IOS(4_0); // default is UIImagePickerControllerCameraDeviceRear
//闪光灯是否打开类型
@property(nonatomic) UIImagePickerControllerCameraFlashMode cameraFlashMode NS_AVAILABLE_IOS(4_0); // default is UIImagePickerControllerCameraFlashModeAuto.
// cameraFlashMode controls the still-image flash when cameraCaptureMode is Photo. cameraFlashMode controls the video torch when cameraCaptureMode is Video.
@end
@protocol UIImagePickerControllerDelegate<NSObject>
@optional
//用户选择照片(视频)之后的回调代理
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo NS_DEPRECATED_IOS(2_0, 3_0);
//用户选择照片(视频)之后的回调代理
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
//用户取消选择照片(视频)之后的回调代理
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
@end
//添加图片到用户的相册中。是否成功的回调方法需要自己写
UIKIT_EXTERN void UIImageWriteToSavedPhotosAlbum(UIImage *image, __nullable id completionTarget, __nullable SEL completionSelector, void * __nullable contextInfo) ;
// Is a specific video eligible to be saved to the saved photos album?
UIKIT_EXTERN BOOL UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(NSString *videoPath) NS_AVAILABLE_IOS(3_1) __TVOS_PROHIBITED;
// 添加视频到用户的相册。The optional completionSelector should have the form:
// - (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
UIKIT_EXTERN void UISaveVideoAtPathToSavedPhotosAlbum(NSString *videoPath, __nullable id completionTarget, __nullable SEL completionSelector, void * __nullable contextInfo) NS_AVAILABLE_IOS(3_1) __TVOS_PROHIBITED;
- UIImagePickerController 简介
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- UIImagePickerController
- Qt学习之路(4):初探信号槽
- deb仓库建立
- 关于UrlHttpConnection.setRequestProperty()的调用顺序问题的验证
- 在IE下-下载文件-文件名中文名乱码问题
- spring的第二天
- UIImagePickerController 简介
- MFC调试出错:Unhandled exception in 0xC0000005:Access Violation
- ASP.NET MVC+Spring.net+Nhibernate+EasyUI+Jquery开发案例(2)
- JDK8下载|JDK1.8下载可选择window版和linux版
- Qt学习之路(5):组件布局
- spring @RequestMapping 问题
- oracle游标全解
- Qt学习之路(6): API文档的使用
- oracle数据库性能优化 - 降低IO