如何在使用 UIImagePickerController 选择的 UIImageView 中显示图像?
How do you display an image in a UIImageView that was selected using UIImagePickerController?
我是 Xcode 和 Swift 的新手,我试图在使用 UIImagePickerController
选择的 UIImageView
中显示图像。我使用 @IBOutlet
链接了 UIImageView
并在底部放置了一些 if
语句以允许编辑所选图片,但是当我的代码中弹出错误时我被卡住了。我很确定问题与我引用 UIImageView
的方式有关,但我不知道如何以不同的方式进行。刚弄到这个账号来问这个问题,请见谅我的做法post.
代码如下:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func openPhotosButton(_ sender: UIButton) {
showImagePickerController()
}
@IBOutlet weak var characterView: UIImageView!
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func showImagePickerController() {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
imagePickerController.sourceType = .photoLibrary
present(imagePickerController, animated: true)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as UIImage {
characterView.image = editedImage
}
else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as UIImage {
characterView.image = originalImage
}
dismiss(animated: true)
}
}
图片来自Xcode:
把你的方法换成这个
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
characterView.image = editedImage
}
else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
characterView.image = originalImage
}
dismiss(animated: true)
}
我是 Xcode 和 Swift 的新手,我试图在使用 UIImagePickerController
选择的 UIImageView
中显示图像。我使用 @IBOutlet
链接了 UIImageView
并在底部放置了一些 if
语句以允许编辑所选图片,但是当我的代码中弹出错误时我被卡住了。我很确定问题与我引用 UIImageView
的方式有关,但我不知道如何以不同的方式进行。刚弄到这个账号来问这个问题,请见谅我的做法post.
代码如下:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func openPhotosButton(_ sender: UIButton) {
showImagePickerController()
}
@IBOutlet weak var characterView: UIImageView!
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func showImagePickerController() {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
imagePickerController.sourceType = .photoLibrary
present(imagePickerController, animated: true)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as UIImage {
characterView.image = editedImage
}
else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as UIImage {
characterView.image = originalImage
}
dismiss(animated: true)
}
}
图片来自Xcode:
把你的方法换成这个
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
characterView.image = editedImage
}
else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
characterView.image = originalImage
}
dismiss(animated: true)
}