斯威夫特 - 以照片或选择现有
每当我使用的应用程序,它要求合影,这样的事情会弹出: 斯威夫特 - 以照片或选择现有
做任何你们中有什么是真正回事参考这里?是否有一些内置函数或开源库用于此?我似乎无法在互联网上找到任何具体资源。
谢谢!
在您的截图中,你看到的UIAlertController有两个动作:
let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
let cameraAction = UIAlertAction(title: "Take Photo", style: .default, handler: nil)
let photoLibraryAction = UIAlertAction(title: "Choose Existing", style: .default handler: nil)
actionSheet.addAction(camerAction)
actionSheet.addAction(photoLibraryAction)
要访问图片库,或用相机拍摄新照片,你可能想看看UIImagePickerController。
正是我所需要的 - 这是一个UIAlertController。谢谢! – Ryan
看起来像图书馆呈现UIAlertController
与UIAlertControllerStyle
枚举actionSheet
。取决于选择,然后使用sourceType
photoLibrary
或camera
实例化UIImagePickerController
。
这是获取用户图像的标准行为。
你必须通过检查相机源可用,然后添加相关动作控制器动态地构建一个UIActionController
:
let actionController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
if UIImagePickerController.isSourceTypeAvailable(.camera) {
let action = UIAlertAction(title: "Take Photo", style: .default, handler: { _ in
print("User tapped 'Take Photo'")
})
actionController.addAction(action)
}
您还需要创建“选择现有”另一个动作和“取消”按钮。
然后只显示当前视图控制器中的动作控制器。
谢谢!这非常有帮助。 – Ryan
看起来像你的基本模态警报给我。没什么更多。 *真实*问题是您在“拍照”或“选择现有”时看到的内容 - 他们是否使用UIImagePickerController? – dfd