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

Tim*_*ele 7 uiimagepickercontroller ios swift

我在 iOS 9 上遇到了这种非常奇怪的行为,我有一个在点击拍照时打开的按钮,当你第一次点击单元格时,需要 10 秒才能打开选择器,tableViewCell但是imagePicker当你点击它两次时,它会立即打开...

选择器的初始化代码如下

let certificateImagePicker = UIImagePickerController()
certificateImagePicker.delegate = self
certificateImagePicker.allowsEditing = false
certificateImagePicker.sourceType = .Camera
certificateImagePicker.modalPresentationStyle = .CurrentContext
Run Code Online (Sandbox Code Playgroud)

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

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

对尚未渲染的视图进行快照会产生空快照。确保您的视图在快照之前或屏幕更新后的快照之前至少已渲染一次。

thi*_*ezn 9

UIImagePickerController我在第一次尝试时也遇到了类似的延迟。对我来说有很大帮助的是在初始化 Parent 的同时初始化它UIViewController,如下所示:

class ExampleViewController: UIViewController, UIImagePickerControllerDelegate {
  let imagePicker = UIImagePickerController()

  func presentImagePicker() {
    imagePicker.delegate = self
    imagePicker.allowsEditing = false
    imagePicker.sourceType = .camera
    imagePicker.modalPresentationStyle = .currentContext
    self.present(imagePicker, animated: false, completion: nil)
  }
}
Run Code Online (Sandbox Code Playgroud)


sas*_*ash 7

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