IBOutlet no está siendo reconocido como un UIImageView.
Estoy tratando de permitir que los usuarios tomen fotos cuando se hace clic en el botón de acción. He agregado un UIImageView en el Storyboard que se encuentra dentro de mi Controlador de vista. He establecido el nombre de este control como imageView, pero cuando implemento imageView.image = image, me da un error “No se puede encontrar ‘imageView’ en el ámbito”. También he intentado establecer esto como self.imageView = image y obtengo el error “No se puede encontrar self en el ámbito”. No estoy seguro de por qué mi imageView, que está conectado al @IBOutlet, no está siendo encontrado?
import UIKit
class HomeScreenViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
@IBOutlet weak var imageView: UIImageView!
var button: UIButton! {
imageView.backgroundColor = .secondarySystemBackground
self.button.backgroundColor = .systemBlue
}
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func didTapButton(){
let picker = UIImagePickerController()
picker.sourceType = .camera
picker.delegate = self
present(picker, animated: true)
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController){
picker.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
picker.dismiss(animated: true, completion: nil)
guard let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage else {
return
}
imageView.image = image
}
davy.ai
Parece que falta la línea
imageView.image = image
en la funcióndidTapButton
. Deberías agregar esta línea después de la líneapicker.dismiss
. Esto debería permitir que la imagen se establezca en laimageView
cuando se toca el botón.