with present modal custom close ios swift swift2 modalviewcontroller swift2.1

ios - present - Controlador de vista modal Swift con fondo transparente



show modal view controller programmatically swift (1)

Puedes hacerlo así:

En su controlador de vista principal:

func showModal() { let modalViewController = ModalViewController() modalViewController.modalPresentationStyle = .overCurrentContext presentViewController(modalViewController, animated: true, completion: nil) }

En su controlador de vista modal:

class ModalViewController: UIViewController { override func viewDidLoad() { view.backgroundColor = UIColor.clearColor() view.opaque = false } }

Si está trabajando con un guión gráfico:

Simplemente agregue un Storyboard Segue con Kind establecido en Present Modally a su controlador de vista modal y en este controlador de vista configure los siguientes valores:

  • Fondo = color claro
  • Dibujo = Desmarque la casilla de verificación Opaco
  • Presentación = Sobre contexto actual

Como Crashalot señaló en su comentario: Asegúrese de que el segue solo use Default para Presentation y Transition . El uso del Current Context para la Presentation hace que el modal se vuelva negro en lugar de permanecer transparente.

Esta pregunta ya tiene una respuesta aquí:

Sé que este tema es bastante popular, pero soy un pequeño problema de iniciación en un lenguaje de programación, el hecho es que todavía no entiendo dónde pongo el código. Bueno, contaré todo el caso:

Estoy tratando de hacer un Swift modal un poco diferente de lo normal: al hacer clic en un botón, se muestra el ViewController (siguiendo el tipo modal) en la pantalla, pero con fondo transparente. Solo se mostrará la vista azul con etiqueta. Cuando se presenta este ViewController, es con fondo transparente, pero tan pronto como complete la transición, permanecerá con el fondo negro. Ya desactivé la opción opaca, y probé algunas opciones, pero nada esta solución de problemas.

Algunos me pueden ayudar?

El video es una prueba en el simulador del caso ( https://www.youtube.com/watch?v=wT8Uwmq9yqY ).

Estoy comenzando con Swift, y todavía estoy bastante perdido con la forma de programar en Xcode, leí una respuesta a una pregunta que tiene el siguiente código para resolver esto:

self.presentingViewController.providesPresentationContextTransitionStyle = YES; self.presentingViewController.definesPresentationContext = YES; modal.modalPresentationStyle = UIModalPresentationOverCurrentContext;

¿Dónde pongo este código?