tutorials apple objective-c ios cocoa-touch storyboard

objective-c - tutorials - storyboard apple



Condicionalmente siguiendo un segue (4)

  1. Cree una transición manual desde "inicio de sesión" para decir "tablero de instrumentos"
  2. Dar un nombre para el identificador de segue, por ejemplo, "showDashboard"
  3. Conecte el botón "Siguiente" para IBAction
  4. Invoque manualmente segue con identificador una vez que se cumplan todas las restricciones.

- (IBAction)nextButtonPressed:(id)sender { if ([self hasAllRequiredFields]) { [self performSegueWithIdentifier:@"showDashboard" sender:self]; } }

En mi aplicación tengo una pantalla de inicio de sesión. Sin embargo, cuando se conecta una transición desde el botón de inicio de sesión al siguiente controlador de vista (tabla), siempre puede continuar, independientemente de lo que escriba como información de inicio de sesión. ¿Cómo puedo verificar la información de inicio de sesión y luego decidir si realizar el segue o no, entonces, cómo realizar el segue condicionalmente?

¿Es posible lograr esto mientras se trabaja con un segue? Sé que se puede hacer mediante programación, pero luego necesito otro controlador de navegación porque necesito una barra de navegación.


Puede conectar su botón de inicio de sesión o lo que sea con algún código IBAction, decidir si el inicio de sesión debe continuar y luego (si es el caso) puede usar performSegueWithIdentifier: para pasar a la nueva vista.

Acabo de escribir otra publicación sobre el uso de este método, aquí .


Esto es tardío, pero es mejor configurar setEnabled: NO lo que sea que desencadena el cambio hasta que el cambio sea "válido". Eso separa tu lógica segue de tu lógica de vista ...


En iOS 6, el método UIViewController shouldPerformSegueWithIdentifier:sender: resuelve este problema sin segmentaciones de activación manual.