Ios 图像视图从库中选择“新建”后图像未更改
首先,我想说的是,我绝不是一个经验丰富的Swift程序员,所以如果有人帮我调试我的问题,那么我很抱歉。只要发表评论,我会补充任何必要的东西来帮助你帮助我 我遵循苹果公司关于如何使用Swift开发iOS应用程序的指南(如图所示) 但出于某种原因,我得到了这个警告: 实例方法“imagePickerController(picker:didFinishPickingMediaWithInfo:)”几乎与协议“UIImagePickerController”的可选要求“imagePickerController(uU2;:didFinishPickingMediaWithInfo:)”匹配 我试图通过使用@nonobjc并将其设置为private来抑制该问题。问题是新图像没有取代旧图像。相反,它在输出中给了我以下错误: [通用]使用未知类型创建图像格式是一个错误 这是与我的点击手势和图像拾取有关的代码:Ios 图像视图从库中选择“新建”后图像未更改,ios,swift,xcode,Ios,Swift,Xcode,首先,我想说的是,我绝不是一个经验丰富的Swift程序员,所以如果有人帮我调试我的问题,那么我很抱歉。只要发表评论,我会补充任何必要的东西来帮助你帮助我 我遵循苹果公司关于如何使用Swift开发iOS应用程序的指南(如图所示) 但出于某种原因,我得到了这个警告: 实例方法“imagePickerController(picker:didFinishPickingMediaWithInfo:)”几乎与协议“UIImagePickerController”的可选要求“imagePickerContr
// 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的评论帮助我解决了这个问题:
代码正确,请检查并确保已连接所有必要的插座。代码正确,请检查并确保已连接所有必要的插座。
func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[字符串:任意])
不是Swift 3的正确方法。正如编译器所说,它应该是func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[String:Any])
(方法签名随Swift 3更改)。如果你放了一个断点,或者在其中记录了日志,你应该会看到它并没有被调用。@Larme天哪。。。我想我太专注于潜在的修复,而没有阅读警告。在整个指南中有3-4条类似的警告,所以你可能认为我现在已经知道这些问题了…:/如果你回答,我就接受。希望这能帮助其他人理解我在那里解释的相同情况:方法不同,但解释仍然有效。只是要小心警告的内容,当你读到Swift时,如果它是Swift 1、2、2.2或3,你可能会做一些小的调整。奇怪的是,我在谷歌搜索时没有看到这个问题,因为它涵盖了我面临的完全相同的问题。。。不管怎样,当你把答案贴出来的时候,我非常乐意接受你的答案。在此期间,我将添加一个对您在评论中提到的问题的引用,以防有人在找到其他问题之前点击此问题!我把这个问题标为重复问题。在我看来,这是同一个问题。您可以选择这样标记自己的问题,您的问题仍然可见,但也指向重复的问题。func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[String:Any])
不是Swift 3正确的方法。正如编译器所说,它应该是func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[String:Any])
(方法签名随Swift 3更改)。如果你放了一个断点,或者在其中记录了日志,你应该会看到它并没有被调用。@Larme天哪。。。我想我太专注于潜在的修复,而没有阅读警告。在整个指南中有3-4条类似的警告,所以你可能认为我现在已经知道这些问题了…:/如果你回答,我就接受。希望这能帮助其他人理解我在那里解释的相同情况:方法不同,但解释仍然有效。只是要小心警告的内容,当你读到Swift时,如果它是Swift 1、2、2.2或3,你可能会做一些小的调整。奇怪的是,我在谷歌搜索时没有看到这个问题,因为它涵盖了我面临的完全相同的问题。。。不管怎样,当你把答案贴出来的时候,我非常乐意接受你的答案。在此期间,我将添加一个对您在评论中提到的问题的引用,以防有人在找到其他问题之前点击此问题!我把这个问题标为重复问题。在我看来,这是同一个问题。您可以选择标记自己的问题,您的问题仍然可见,但也指向重复的问题。