显示相机和画廊权限的自定义警报 swift 3

Posted

技术标签:

【中文标题】显示相机和画廊权限的自定义警报 swift 3【英文标题】:Show custom alert for camera and gallery permission swift 3 【发布时间】:2017-02-15 07:54:44 【问题描述】:

可能这是重复的问题,但我实际上没有找到确切的解决方案。我在同一屏幕上有相机和照片库收藏视图。see this UI

当我登陆此屏幕时,我收到两个警报:一个用于访问相机,另一个用于访问照片。谁能告诉我如何摆脱这些本机警报并为这两种权限实现自定义警报。

【问题讨论】:

为此,您需要调整 AlertController 的 present 方法,然后展示您自己的方法,将用户输入转发到原始警报。反正我也不喜欢这个。 能否请您详细说明我应该如何去,因为我是 swift 新手。 这是更精细的事情。这需要很多时间来解释,我不确定这是否有效。此外,人们不喜欢这种方式。 【参考方案1】:

你可以通过imagePickerController获取选择完成后的图像

首先,实现UIImagePickerControllerDelegate

二、创建实例并设置委托

let imagePicker = UIImagePickerController()
imagePicker.delegate = self

展示图片选择器

present(imagePicker, animated: true, completion: nil)

最后

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) 
        let image = info[UIImagePickerControllerOriginalImage] as! UIImage
        imagePicker.dismiss(animated: true, completion: nil)
    

现在你有了图像。

【讨论】:

【参考方案2】:

每当您在应用程序<Your App Name>.plist 中添加权限详细信息时。应用程序将自动显示来自您的.plist 隐私权限字符串的默认警报消息,因为权限消息始终显示在默认警报视图中,因此您可以在访问相机显示您的自定义警报之前做一件事,然后重定向到相机/图库视图。

在访问相机之前,您可以这样显示(仅包含示例)

【讨论】:

以上是关于显示相机和画廊权限的自定义警报 swift 3的主要内容,如果未能解决你的问题,请参考以下文章

远程通知中的自定义声音 iOS 10,swift 3

如何仅在 Swift 中访问从相机拍摄的图像,就像 iOS 中的画廊一样?

在swift 3中显示来自自定义单元格的警报

如何在 CollectionView 中显示从照片库或相机中选择的图像?画廊视图

如何获取自定义单元格并通过 indexpath 使用它的自定义项 - swift3?

从 Swift 中的自定义相机拍摄后裁剪图像