Ho un'applicazione che utilizza Storyboard. Su una vista c'è un AlertViewDialog.Apri Storyboard-view manualmente
Quando l'utente fa clic sul primo pulsante ("Sì"), come posso aprire un'altra vista sullo Storyboard?
Ho un'applicazione che utilizza Storyboard. Su una vista c'è un AlertViewDialog.Apri Storyboard-view manualmente
Quando l'utente fa clic sul primo pulsante ("Sì"), come posso aprire un'altra vista sullo Storyboard?
mio essere questo può aiutare:
creare classe SecondViewController (.h & .m) sottoclasse di viewController.
poi dal codice vista avviso (come hai detto quando si fa clic su SI)
incollare il codice di cui qui di seguito
SecondViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier:@"vinay"];
[svc setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentViewController:svc animated:YES completion:nil];
fatemi sapere se si verificano problemi.
Che questo aiuta:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
ClassNameViewController *viewController = (ClassNameViewController *)[storyboard instantiateViewControllerWithIdentifier:@"viewIdentifierOnStoryboard"];
[self presentModalViewController:viewController animated:NO];
Peccato, non funziona. Non succede nulla ... –
Hai impostato l'identificatore sulla tua vista e hai usato lo stesso nome dello storyboard? – Tchelow
Ho impostato l'ID Storyboard su "eerstekeer". Selezionato "Usa ID Storyboard", avvio di importazione.h (nomenclatura) e ha utilizzato questo codice: UIStoryboard * storyboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" bundle: nil]; startup * viewController = (startup *) [storyboard instantiateViewControllerWithIdentifier: @ "eerstekeer"]; –
La prima cosa che dovete fare è impostare il UIAlertView
delegato per fare questo aggiungere UIAlertViewDelegate
al @interface
modo che appaia come
@interface myClass : super <UIAlertViewDelegate>
// super could be anything like `UIViewController`, etc
@end
e nel @implementation
si può quindi aggiunto qualcosa di simile
@implementation myClass
........... Some code
- (IBAction)someActionMethod:(id)sender
{
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:nil
message:@"Would you like to move on?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[myAlertView show];
// [myAlertView release]; Only if you aren't using ARC
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
switch(buttonIndex) {
case 1:
SecondViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
[svc setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
// [self presentViewController:svc animated:YES]; // Deprecated in iOS 6.0
[self presentViewController:svc animated:YES completion:nil]; // Introduced in iOS 5.0
break;
default:
break;
}
}
@end
Ricordarsi di impostare l'identificativo univoco nello storyboard. È possibile farlo andando al tuo .storyboard
e in Identity Inspector (selezionando il terzo in) è possibile impostare il Storyboard ID
questo è ciò che è necessario abbinare a ciò che è in instantiateViewControllerWithIdentifier
quindi nel caso sopra sarebbe "secondViewController"
. È così semplice
Ricordati di respingere questo punto di vista quando si è fatto è necessario utilizzare
[self dismissModalViewControllerAnimated:YES];
È possibile che questo è stato effettivamente deprecato in iOS 6.0, ma è possibile utilizzare
[self dismissModalViewControllerAnimated:YES completion:nil];
che fa la stessa cosa tranne che aggiunge un blocco di completamento alla fine.
Spero che questo aiuti.
GRAZIE! Funziona! –
il benvenuto e grazie per aver gradito il mio post :) –