首先,我想说我并不是一个经验丰富的Swift程序员,所以如果我错过任何人帮助我调试我的问题 - 那么我很抱歉。只需发表评论,我就会添加任何必要的信息来帮助您。
我正在关注如何使用Swift开发iOS应用程序的Apple指南(如here所示)。
但由于某些原因,我收到了这个警告:
实例方法' imagePickerController(picker:didFinishPickingMediaWithInfo:)'几乎匹配可选要求' imagePickerController(_:didFinishPickingMediaWithInfo :)'协议' UIImagePickerControllerDelegate'
我试图通过使用@nonobjc并将其设置为私有来解决问题。问题是新图像没有拍摄旧图像的位置。相反,它在输出中给出了这个错误:
[Generic]使用未知类型创建图像格式是一个错误。
这是关于我的tapGesture和imagePicking的代码:
// MARK: UIImagePickerControllerDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
// The info dictionary contains multiple representations of the image, and this uses the original.
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
// Set photoImageView to display the selected image.
photoImageView.image = selectedImage
// Dismiss the picker.
dismiss(animated: true, completion: nil)
}
// MARK: Actions
@IBAction func selectTapGestureFromPhotoLibrary(_ sender: UITapGestureRecognizer) {
// Hide the keyboard
nameTextField.resignFirstResponder()
// UIImagePickerController allows users to pick media from their photo library!
let imagePickerController = UIImagePickerController()
// Only allow photos to be picked, not taken
imagePickerController.sourceType = .photoLibrary
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
}
如果我的问题不够清楚我需要帮助弄清楚为什么我的应用中的图片不会改变 - 即使我已经按照指南进行了操作。我已经注意到我认为与Xcode有关的一些问题已经更新,但不是指南。
值得一提的是,我已经设置了info.plist以允许我访问所有必要的安全权限。
我正在运行iOS 10.1和Xcode 8.1
发现类似的问题,与@ Larme的评论一起帮助我解决了这个问题:
答案 0 :(得分:0)
代码是正确的,请检查并确保您已连接所有必要的插座。