UIImagePickerController.h
2013-03-06 10:24
495 查看
//
// UIImagePickerController.h
// UIKit
//
// Copyright (c) 2008-2012, Apple Inc. All rights reserved.
//
#import<Foundation/Foundation.h>
#import<UIKit/UINavigationController.h>
#import<UIKit/UIKitDefines.h>
@classUIImage;
@protocolUIImagePickerControllerDelegate;
typedefNS_ENUM(NSInteger, UIImagePickerControllerSourceType) {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedefNS_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
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
UIImagePickerControllerQualityType640x480 = 3, // VGA quality
#endif
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
UIImagePickerControllerQualityTypeIFrame1280x720 = 4,
UIImagePickerControllerQualityTypeIFrame960x540 = 5
#endif
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraCaptureMode) {
UIImagePickerControllerCameraCaptureModePhoto,
UIImagePickerControllerCameraCaptureModeVideo
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraDevice) {
UIImagePickerControllerCameraDeviceRear,
UIImagePickerControllerCameraDeviceFront
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraFlashMode) {
UIImagePickerControllerCameraFlashModeOff = -1,
UIImagePickerControllerCameraFlashModeAuto = 0,
UIImagePickerControllerCameraFlashModeOn = 1
};
// info dictionary keys
UIKIT_EXTERNNSString *const UIImagePickerControllerMediaType; //
an NSString (UTI, i.e. kUTTypeImage)
UIKIT_EXTERNNSString *const UIImagePickerControllerOriginalImage; //
a UIImage
UIKIT_EXTERNNSString *const UIImagePickerControllerEditedImage; //
a UIImage
UIKIT_EXTERNNSString *const UIImagePickerControllerCropRect; //
an NSValue (CGRect)
UIKIT_EXTERNNSString *const UIImagePickerControllerMediaURL; //
an NSURL
UIKIT_EXTERN NSString *const UIImagePickerControllerReferenceURL
NS_AVAILABLE_IOS(4_1); // an NSURL that references an asset in the AssetsLibrary framework
UIKIT_EXTERN NSString *const UIImagePickerControllerMediaMetadata NS_AVAILABLE_IOS(4_1);
// an NSDictionary containing metadata from a captured photo
NS_CLASS_AVAILABLE_IOS(2_0)@interface UIImagePickerController : UINavigationController <NSCoding>
{
@private
UIImagePickerControllerSourceType _sourceType;
id _image;
CGRect _cropRect;
NSArray *_mediaTypes;
NSMutableDictionary *_properties;
int _previousStatusBarStyle;
struct {
unsigned int visible:1;
unsigned int isCleaningUp:1;
unsigned int savingOptions:3;
unsigned int didRevertStatusBar:1;
} _imagePickerFlags;
}
+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;
// returns YES if source is available (i.e. camera present)
+ (NSArray *)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.
+ (NSArray *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDeviceNS_AVAILABLE_IOS(4_0);
// returns array of NSNumbers (UIImagePickerControllerCameraCaptureMode)
@property(nonatomic,assign)
id <UINavigationControllerDelegate,UIImagePickerControllerDelegate> delegate;
@property(nonatomic) UIImagePickerControllerSourceType sourceType;
// default value is UIImagePickerControllerSourceTypePhotoLibrary.
@property(nonatomic,copy) NSArray
*mediaTypes;
// default value is an array containing kUTTypeImage.
@property(nonatomic) BOOL allowsEditingNS_AVAILABLE_IOS(3_1);
// replacement for -allowsImageEditing; default value is NO.
@property(nonatomic) BOOL allowsImageEditingNS_DEPRECATED_IOS(2_0,
3_1);
// video properties apply only if mediaTypes includes kUTTypeMovie
@property(nonatomic) NSTimeInterval videoMaximumDurationNS_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.
// camera additions available only if sourceType is UIImagePickerControllerSourceTypeCamera.
@property(nonatomic) BOOL showsCameraControlsNS_AVAILABLE_IOS(3_1);
// set to NO to hide all standard camera UI. default is YES
@property(nonatomic,retain) UIView *cameraOverlayView NS_AVAILABLE_IOS(3_1);
// set a view to overlay the preview view.
@property(nonatomic) CGAffineTransform cameraViewTransformNS_AVAILABLE_IOS(3_1);
// set the transform of the preview view.
- (void)takePictureNS_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)startVideoCaptureNS_AVAILABLE_IOS(4_0);
- (void)stopVideoCapture NS_AVAILABLE_IOS(4_0);
@property(nonatomic) UIImagePickerControllerCameraCaptureMode cameraCaptureModeNS_AVAILABLE_IOS(4_0);
// default is UIImagePickerControllerCameraCaptureModePhoto
@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
// The picker does not dismiss itself; the client dismisses it in these callbacks.
// The delegate will receive one or the other, but not both, depending whether the user
// confirms or cancels.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfoNS_DEPRECATED_IOS(2_0,
3_0);
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary
*)info;
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
@end
// Adds a photo to the saved photos album. The optional completionSelector should have the form:
// - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
UIKIT_EXTERNvoid UIImageWriteToSavedPhotosAlbum(UIImage *image,id
completionTarget, SEL completionSelector,
void *contextInfo);
// Is a specific video eligible to be saved to the saved photos album?
UIKIT_EXTERNBOOL UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(NSString *videoPath)NS_AVAILABLE_IOS(3_1);
// Adds a video to the saved photos album. The optional completionSelector should have the form:
// - (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
UIKIT_EXTERNvoid UISaveVideoAtPathToSavedPhotosAlbum(NSString *videoPath,id completionTarget,
SEL completionSelector,
void *contextInfo)NS_AVAILABLE_IOS(3_1);
// UIImagePickerController.h
// UIKit
//
// Copyright (c) 2008-2012, Apple Inc. All rights reserved.
//
#import<Foundation/Foundation.h>
#import<UIKit/UINavigationController.h>
#import<UIKit/UIKitDefines.h>
@classUIImage;
@protocolUIImagePickerControllerDelegate;
typedefNS_ENUM(NSInteger, UIImagePickerControllerSourceType) {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedefNS_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
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
UIImagePickerControllerQualityType640x480 = 3, // VGA quality
#endif
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
UIImagePickerControllerQualityTypeIFrame1280x720 = 4,
UIImagePickerControllerQualityTypeIFrame960x540 = 5
#endif
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraCaptureMode) {
UIImagePickerControllerCameraCaptureModePhoto,
UIImagePickerControllerCameraCaptureModeVideo
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraDevice) {
UIImagePickerControllerCameraDeviceRear,
UIImagePickerControllerCameraDeviceFront
};
typedefNS_ENUM(NSInteger, UIImagePickerControllerCameraFlashMode) {
UIImagePickerControllerCameraFlashModeOff = -1,
UIImagePickerControllerCameraFlashModeAuto = 0,
UIImagePickerControllerCameraFlashModeOn = 1
};
// info dictionary keys
UIKIT_EXTERNNSString *const UIImagePickerControllerMediaType; //
an NSString (UTI, i.e. kUTTypeImage)
UIKIT_EXTERNNSString *const UIImagePickerControllerOriginalImage; //
a UIImage
UIKIT_EXTERNNSString *const UIImagePickerControllerEditedImage; //
a UIImage
UIKIT_EXTERNNSString *const UIImagePickerControllerCropRect; //
an NSValue (CGRect)
UIKIT_EXTERNNSString *const UIImagePickerControllerMediaURL; //
an NSURL
UIKIT_EXTERN NSString *const UIImagePickerControllerReferenceURL
NS_AVAILABLE_IOS(4_1); // an NSURL that references an asset in the AssetsLibrary framework
UIKIT_EXTERN NSString *const UIImagePickerControllerMediaMetadata NS_AVAILABLE_IOS(4_1);
// an NSDictionary containing metadata from a captured photo
NS_CLASS_AVAILABLE_IOS(2_0)@interface UIImagePickerController : UINavigationController <NSCoding>
{
@private
UIImagePickerControllerSourceType _sourceType;
id _image;
CGRect _cropRect;
NSArray *_mediaTypes;
NSMutableDictionary *_properties;
int _previousStatusBarStyle;
struct {
unsigned int visible:1;
unsigned int isCleaningUp:1;
unsigned int savingOptions:3;
unsigned int didRevertStatusBar:1;
} _imagePickerFlags;
}
+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;
// returns YES if source is available (i.e. camera present)
+ (NSArray *)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.
+ (NSArray *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDeviceNS_AVAILABLE_IOS(4_0);
// returns array of NSNumbers (UIImagePickerControllerCameraCaptureMode)
@property(nonatomic,assign)
id <UINavigationControllerDelegate,UIImagePickerControllerDelegate> delegate;
@property(nonatomic) UIImagePickerControllerSourceType sourceType;
// default value is UIImagePickerControllerSourceTypePhotoLibrary.
@property(nonatomic,copy) NSArray
*mediaTypes;
// default value is an array containing kUTTypeImage.
@property(nonatomic) BOOL allowsEditingNS_AVAILABLE_IOS(3_1);
// replacement for -allowsImageEditing; default value is NO.
@property(nonatomic) BOOL allowsImageEditingNS_DEPRECATED_IOS(2_0,
3_1);
// video properties apply only if mediaTypes includes kUTTypeMovie
@property(nonatomic) NSTimeInterval videoMaximumDurationNS_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.
// camera additions available only if sourceType is UIImagePickerControllerSourceTypeCamera.
@property(nonatomic) BOOL showsCameraControlsNS_AVAILABLE_IOS(3_1);
// set to NO to hide all standard camera UI. default is YES
@property(nonatomic,retain) UIView *cameraOverlayView NS_AVAILABLE_IOS(3_1);
// set a view to overlay the preview view.
@property(nonatomic) CGAffineTransform cameraViewTransformNS_AVAILABLE_IOS(3_1);
// set the transform of the preview view.
- (void)takePictureNS_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)startVideoCaptureNS_AVAILABLE_IOS(4_0);
- (void)stopVideoCapture NS_AVAILABLE_IOS(4_0);
@property(nonatomic) UIImagePickerControllerCameraCaptureMode cameraCaptureModeNS_AVAILABLE_IOS(4_0);
// default is UIImagePickerControllerCameraCaptureModePhoto
@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
// The picker does not dismiss itself; the client dismisses it in these callbacks.
// The delegate will receive one or the other, but not both, depending whether the user
// confirms or cancels.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfoNS_DEPRECATED_IOS(2_0,
3_0);
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary
*)info;
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
@end
// Adds a photo to the saved photos album. The optional completionSelector should have the form:
// - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
UIKIT_EXTERNvoid UIImageWriteToSavedPhotosAlbum(UIImage *image,id
completionTarget, SEL completionSelector,
void *contextInfo);
// Is a specific video eligible to be saved to the saved photos album?
UIKIT_EXTERNBOOL UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(NSString *videoPath)NS_AVAILABLE_IOS(3_1);
// Adds a video to the saved photos album. The optional completionSelector should have the form:
// - (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
UIKIT_EXTERNvoid UISaveVideoAtPathToSavedPhotosAlbum(NSString *videoPath,id completionTarget,
SEL completionSelector,
void *contextInfo)NS_AVAILABLE_IOS(3_1);
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { UINavigationBar *bar = navigationController.navigationBar; UINavigationItem *top = bar.topItem; top.title = @"Photos"; UIImage *buttonImageCancel = [UIImage imageNamed:@"DoneBarButton.png"]; UIButton *buttonCancel = [[UIButton alloc] initWithFrame:CGRectMake(0,5,55, 29)]; [buttonCancel setBackgroundImage:buttonImageCancel forState:UIControlStateNormal]; [buttonCancel addTarget:self action:@selector(imagePickerControllerDidCancel:) forControlEvents:UIControlEventTouchUpInside]; [buttonCancel setTitle:@"Cancel" forState:UIControlStateNormal]; [buttonCancel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [[buttonCancel titleLabel] setFont:[UIFont boldSystemFontOfSize:10]]; UIBarButtonItem *barButtonCancel = [[UIBarButtonItem alloc] initWithCustomView:buttonCancel]; [top setRightBarButtonItem:barButtonCancel]; }
相关文章推荐
- On iPad, UIImagePickerController must be presented via UIPopoverController
- UIImagePickerController使用
- ios 使用UIImagePickerController 打开图片库和相机选择图片修改头像(iphone版本)
- ios8.0 ipad UIImagePickerController
- 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
- objective-c UIImagePickerController 相册视图控制器
- 使用UIImagePickerController时3DTouch引起Crash
- UIImagePickerController使用
- iOS摄像头和相册-UIImagePickerController-浅析
- UIImagePickerController属性与使用
- iOS开发-使用UIImagePickerController遇到的问题
- 使用UIImagePickerController导致[Generic] Creating an image format with an unknown type is an error
- UIImagePickerControllerDelegate 实现选择相册图片和拍照得到图片
- UIImagePickerController
- UIImagePickerController
- UIPinchGestureRecognizer 缩放,移动,旋转,UIImagePickerController 横屏,全屏 的实现
- UIImagePickerController
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController之死因
- ios 调用系统相机,图库,相册。将照片保存在相册,保存图片在本地,UIImagePickerController