images auk swift image fullscreen

auk - Swift: ¿Cómo puedo hacer una imagen a pantalla completa cuando se hace clic y luego al tamaño original cuando se vuelve a hacer clic?



swift 4 image carousel (1)

Para la aplicación que estoy creando quiero que el usuario pueda hacer clic en una imagen para hacerla completa en la aplicación. Y luego el usuario podrá hacer clic en la imagen de pantalla completa ahora para que tenga el tamaño original.

es posible?

Cualquier ayuda sería genial, solo soy un principiante en xcode y estoy interesado en saber cómo hacerlo.


Aquí hay un código que crea una imagen de pantalla completa (con barras negras para preservar la relación de aspecto) cuando se hace clic en una imagen.

Para usar esto, agregue este código a su ViewController que contiene la imagen.

Luego, para su imageView que desea expandir, marque la casilla para userInteractionEnabled en el inspector de atributos , agregue un TapGestureRecognizer y establezca call imageTapped .

@IBAction func imageTapped(sender: UITapGestureRecognizer) { let imageView = sender.view as! UIImageView let newImageView = UIImageView(image: imageView.image) newImageView.frame = UIScreen.main.bounds newImageView.backgroundColor = .blackColor() newImageView.contentMode = .ScaleAspectFit newImageView.userInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: "dismissFullscreenImage:") newImageView.addGestureRecognizer(tap) self.view.addSubview(newImageView) self.navigationController?.isNavigationBarHidden = true self.tabBarController?.tabBar.isHidden = true } func dismissFullscreenImage(sender: UITapGestureRecognizer) { self.navigationController?.isNavigationBarHidden = false self.tabBarController?.tabBar.isHidden = false sender.view?.removeFromSuperview() }

Este código funciona creando una nueva imagen de pantalla completa que cubre todo lo demás. Tiene su propio TapGestureRecognizer que elimina la imagen de pantalla completa de su superView (y por lo tanto descubre la pantalla original).

Actualización para Swift 3 y 4:

@IBAction func imageTapped(_ sender: UITapGestureRecognizer) { let imageView = sender.view as! UIImageView let newImageView = UIImageView(image: imageView.image) newImageView.frame = UIScreen.main.bounds newImageView.backgroundColor = .black newImageView.contentMode = .scaleAspectFit newImageView.isUserInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage)) newImageView.addGestureRecognizer(tap) self.view.addSubview(newImageView) self.navigationController?.isNavigationBarHidden = true self.tabBarController?.tabBar.isHidden = true } @objc func dismissFullscreenImage(_ sender: UITapGestureRecognizer) { self.navigationController?.isNavigationBarHidden = false self.tabBarController?.tabBar.isHidden = false sender.view?.removeFromSuperview() }