es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ViewWillDisappear() no funciona como se pretendía.

Estoy intentando implementar algo similar a OnBackPressed de Android y esto es lo que tengo hasta ahora:

public override void ViewWillDisappear(bool animated)
{
    if(isTrue)
    {
        // Ir al controlador anterior
        base.ViewWillDisappear(animated);
    } 
    else 
    {
        // Quedarse en el controlador actual
    }
}

Sin embargo, esto no parece funcionar ya que siempre se llama a base.ViewWillDisappear(). ¿Cómo puedo evitar eso?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para evitar que base.ViewWillDisappear() siempre se llame, puedes usar base.ViewWillDisappear(animated) condicionalmente dentro de una declaración if.

    Aquí tienes una versión actualizada de tu código que verifica la condición antes de llamar a base.ViewWillDisappear(animated):

    public override void ViewWillDisappear(bool animated)
    {
        if(esTrue)
        {
            // Ir al controlador anterior
            base.ViewWillDisappear(animated);
        } 
        else 
        {
            // Permanecer en el controlador actual al no llamar a base.ViewWillDisappear(animated)
        }
    }
    

    Al hacer esto, el método ViewWillDisappear(animated) solo interactuará con la clase base si se cumple la condición.

Comments are closed.