017-UIImagePickerController – iOS基本控件系列

1.检查指定源是否在设备上可用

+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;

2.是否允许编辑

allowsEditing默认NO,不允许编辑。

3. videoMaximumDuration

设置UIImagePicker的最大视频持续时间,默认10分钟。

4. 指定源可用的媒体种类

+ availableMediaTypesForSourceType:

5.sourceType

设置UIImagePicker照片源类型,默认有3种。

6.UIImagePicker使用步骤

检查指定源是否可用. isSourceTypeAvailable:方法.

检查可用媒体(视频还是只能是图片) availableMediaTypesForSourceType:方法.

设置界面媒体属性mediaTypes property.

显示界面使用presentViewController:animated:completion:方法.iPad中是popover形式.需要确保sourceType有效.

相关操作,移除视图。

如果想创建一个完全自定义界面的image picker来浏览图片,使用 Assets Library Framework Reference中的类. (AV Foundation Programming Guide 中的 “Media Capture and Access to Camera” )

7.设置源

运行相关接口前需要指明源类型.必须有效,否则抛出异常. picker已经显示的时候改变这个值,picker会相应改变来适应.默认 UIImagePickerControllerSourceTypePhotoLibrary.

8.设置picker属性

指示picker中显示的媒体类型.设置每种类型之前应用availableMediaTypesForSourceType:检查一下.如果为空或者array中类型都不可用,会发生异常.默认 kUTTypeImage, 只能显示图片.

9.video选取参数

10.自定义界面

showsCameraControls
指示 picker 是否显示默认的camera controls.默认是YES,设置成NO隐藏默认的controls来使用自定义的overlay view.(从而可以实现多选而不是选一张picker就dismiss了).只有 UIImagePickerControllerSourceTypeCamera源有效,否则NSInvalidArgumentException异常.

cameraOverlayView
自定义的用于显示在picker之上的view.只有当源是UIImagePickerControllerSourceTypeCamera时有效.其他时候使用抛出NSInvalidArgumentException异常.

cameraViewTransform
预先动画.只影响预先图像,对自定义的overlay view和默认的picker无效.只用当picker的源是UIImagePickerControllerSourceTypeCamera时有效,否则NSInvalidArgumentException异常.

11.选取媒体

使用摄像头选取一个图片。自定义overlay可以多选。已经有图片正在选取是调用无效,必须要等delegate收到 imagePickerController:didFinishPickingMediaWithInfo:消息后才能再次选取。非UIImagePickerControllerSourceTypeCamera源会导致异常。

结束视频选取,之后系统调用delegate的 imagePickerController:didFinishPickingMediaWithInfo:方法。

12.设置摄像头

13.UIImagePickerControllerDelegate

使用UIImageWriteToSavedPhotosAlbum保存图像, UISaveVideoAtPathToSavedPhotosAlbum保存视频.

4.0后使用writeImageToSavedPhotosAlbum:metadata:completionBlock:保存元数据.

14. UIImagePickerController小例子

UIImagePickerController的代理需要遵守这两个协议.<UIImagePickerControllerDelegate, UINavigationControllerDelegate>

六阿哥

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: