UIImagePickerController第一次打开速度很慢,除了双击时

时间:2016-08-07 22:25:04

标签: ios swift uiimagepickercontroller

我在iOS 9上使用swift获得了这个非常奇怪的行为,当我点击单元格时,我有一个tableViewCell,当点击以拍摄某些内容时会打开imagePicker这是第一次打开拣货员需要10秒钟,但当你点击两次时它会立即打开......

选择器的初始化代码如下

let certificateImagePicker = UIImagePickerController()
certificateImagePicker.delegate = self
certificateImagePicker.allowsEditing = false
certificateImagePicker.sourceType = .Camera
certificateImagePicker.modalPresentationStyle = .CurrentContext

呈现选择器的代码是presentViewController(certificateImagePicker, animated: false, completion: nil)

我现在不相关,但是在打开选择器之后它会显示此错误消息

  

快照未呈现的视图会导致空快照。       确保您的视图在快照之前至少呈现过一次或       屏幕更新后的快照。

3 个答案:

答案 0 :(得分:1)

之前有过类似的问题。我只是把我的代码放在dispatch_async中,它会执行得更快。

dispatch_async(dispatch_get_main_queue(),
{
  let certificateImagePicker = UIImagePickerController()
  certificateImagePicker.delegate = self
  certificateImagePicker.allowsEditing = false
  certificateImagePicker.sourceType = .Camera
  certificateImagePicker.modalPresentationStyle = .CurrentContext
  presentViewController(certificateImagePicker, animated: false, completion: nil)
})

答案 1 :(得分:0)

我第一次尝试使用uiimagepickercontroller时遇到了类似的延迟。在我的情况下,在加载超级uiviewcontroller时初始化控制器有很大帮助:

setInterval()

答案 2 :(得分:0)

这仅适用于调试版本,当您运行连接到Xcode的应用程序时。