在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
复制-在Swift中粘贴解决方案访问iOS相机和照片库可能是您在我们构建的几乎每个应用程序中都能找到的最常见功能之一。 因此,我们必须确保正确执行操作,并确保有一个随时可以重用的自定义类。 在本教程中,我将向您展示如何在Swift中创建自定义类,并在需要时随时使用它。 如果您懒于阅读整个教程,可以在本文底部下载一个GIST文件。 我将命名为CameraHandler.swift类。 访问iOS相机和照片库我将从创建两个函数开始,第一个函数将命名为camera(),第二个函数将命名为photoLibrary()。 在这两种情况下,我们都使用UIImagePickerController类,我们要做的就是将sourceType属性更改为适当的属性。 相机()func camera() photoLibrary()func photoLibrary() 如您所见,sourceType更改为.camera和.photoLibrary类型。 我们将需要UIImagePickerControllerDelegate和UINavigationControllerDelegate,以便我们拦截用户选择的图像。 我将在下面解释有关currentVC属性。 创建UIActionSheet接下来,我们要做的是创建一个函数,该函数将在一个简单的UIActionSheet中向用户呈现这两个选项。 showActionSheet()func showActionSheet(vc: UIViewController) { 这是显示iOS相机和照片库所需的唯一函数。 它显示了具有两个选项的简单UIActionSheet。 另外,我们传递了一个名为vc的参数,该参数将传递给currentVC私有属性。 我们这样做是为了直接从类内部处理控制器的表示。 注意:如果设备不支持相机或照片库,则按任何选项都不会发生任何事情。 例如,在模拟器上测试相机功能。 委托方法在文件末尾,我们将创建一个extension ,并将调用属于UIImagePickerControllerDelegate的委托方法didFinishPickingMediaInfo和imagePickerControllerDidCancel 。 extension CameraHandler: UIImagePickerControllerDelegate, UINavigationControllerDelegate{ 现在,我们可以从照片库中获取所选择的图像,或者从相机中获取所捕获的图像。 为了使事情更简单明了 ,我创建了一个名为imagePickedBlock()的闭包,它将在需要的地方为我们提供所选择的图像。 这是您将需要的所有属性。 static let shared = CameraHandler() 如何使用?现在我们需要使用它来创建类。 这种类的优点是易于重用。 CameraHandler.shared.showActionSheet(vc: self) 正是本教程向您展示了如何在Swift 3中访问iOS相机和照片库,我真的希望它对您有所帮助。 如果您有任何疑问,请在评论部分中分享此帖子,以作为支持或评论。 完整的GIST文件就是本教程的内容,如果对您有帮助,请please或分享这个故事,以便其他人可以找到它。 感谢您的关注! ????查看我最新的项目:阅读我在Medium上撰写的更多文章: 使用Swift 4的iOS版Google Maps SDK终极指南
许多iOS应用程序都使用Google Maps。 这是一个非常常见的功能,因此我决定在... medium.freecodecamp.org 上准备最终指南。 订阅我的时事通讯:From: https://hackernoon.com/swift-access-ios-camera-and-photo-library-dc1dbe0cdd76 |
请发表评论