swift 快速奔跑的兔几 本节的内容是:使用照片库

swift 快速奔跑的兔几 本节的内容是:使用照片库,第1张

概述除了播放视频和音频之外,iOS和OS X还允许访问内置的相机系统来采集视频和音频。 然而,这两个系统用于访问相机的API是不同的。 要在iOS上从相机采集视频和照片,可以使用一个名为UIImagePickerController的视图控制器。 简言之,UIImagePickerController允许我们呈现一个几乎与iPhone内置相机应用程序完全相同的界面。应用这一个界面,用户可以获取照片,将

除了播放视频和音频之外,iOS和OS X还允许访问内置的相机系统来采集视频和音频。
然而,这两个系统用于访问相机的API是不同的。

要在iOS上从相机采集视频和照片,可以使用一个名为UIImagePickerController的视图控制器。
简言之,UIImagePickerController允许我们呈现一个几乎与iPhone内置相机应用程序完全相同的界面。应用这一个界面,用户可以获取照片,将它作为一个UIImage对象提供给你的应用程序。
还可以配置UIImagePickerController以采集视频。
可以对UIImagePickerController进行设置,用以控制使用哪个相机(前置或后置),闪光灯是否可用,是否允许用户裁剪拍摄的照片等等。

我们可以使用UIImagePickerController来判断有哪些功能可供使用,并相应调整app的行为。例如,要判断是否有任何类型的相机可用:

// 判断哪些类型的相机可用        let sourceType = UIImagePickerControllerSourceType.Camera        if(UIImagePickerController.isSourceTypeAvailable(sourceType)){                // 可以使用相机        }else{            // 不可以使用相机        }

还可以进一步指定是否有前置或者后置相机可用。

// 前置还是后置相机        let frontCamera = UIImagePickerControllerCameraDevice.Front        let rearCamera = UIImagePickerControllerCameraDevice.Rear        if(UIImagePickerController.isCameraDeviceAvailable(frontCamera)){            // 前置相机可用        }        if(UIImagePickerController.isCameraDeviceAvailable(rearCamera)){            // 后置相机可用        }

下面的代码是一个简单的应用程序,它将可以显示用户拍摄的照片。注意,该应用程序如果运行在模拟器上,将会无法看到照片。因为模拟器上木有真正的相机设备。

class VIEwController: UIVIEwController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{    @IBAction func takePhotos(sender: AnyObject) {        let picker = UIImagePickerController()        // 判断哪些类型的相机可用        let sourceType = UIImagePickerControllerSourceType.Camera        if(UIImagePickerController.isSourceTypeAvailable(sourceType)){            picker.sourceType = UIImagePickerControllerSourceType.Camera            // 前置还是后置相机            let frontCamera = UIImagePickerControllerCameraDevice.Front            let rearCamera = UIImagePickerControllerCameraDevice.Rear            if(UIImagePickerController.isCameraDeviceAvailable(frontCamera)){                // 前置相机可用,使用前置相机                picker.cameraDevice = frontCamera            }else{                // 使用后置相机                picker.cameraDevice = rearCamera            }            picker.delegate = self            self.presentVIEwController(picker,animated: true,completion: { () -> VoID in                // nil            })        }    }    @IBOutlet weak var imageVIEw: UIImageVIEw!    func imagePickerController(picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [String : AnyObject]) {        let image:UIImage = info[UIImagePickerControllerOriginalimage] as! UIImage        self.imageVIEw.image = image        picker.dismissVIEwControllerAnimated(true,completion: nil)    }    func imagePickerControllerDIDCancel(picker: UIImagePickerController) {        picker.dismissVIEwControllerAnimated(true,completion: nil)    }}
总结

以上是内存溢出为你收集整理的swift 快速奔跑的兔几 本节的内容是:使用照片库全部内容,希望文章能够帮你解决swift 快速奔跑的兔几 本节的内容是:使用照片库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1082580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存