Ho un'applicazione che inizia con un controller di navigazione. Questo controller di navigazione in grado di aprire vista modale regolatore:Come eseguire i passi senza animazione di transizione
- (void)openModalController:(id)sender
{
[self performSegueWithIdentifier:@"SegueIdentifier"];
}
Ma quando l'utente apre un'applicazione utilizzando schema URL, mi piacerebbe presentare la domanda con il controller modale aperto. Così ho aggiunto alcuni metodi e provato:
// Controller
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated]; // animated == NO in initial loading
if (_shouldOpenModalController) {
[self openModalController:nil];
}
}
- (void)setShouldOpenModalController:(BOOL)flag
{
_shouldOpenModalController = flag;
}
// AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions) {
UINavigationController *nc = (UINavigationController *)self.window.rootViewController;
MyViewController *c = (MyViewController *)[ns topViewController];
[c setShouldOpenModalController];
}
}
ma qui è un problema: le openModalController:
esegue Segue con l'installazione ho l'animazione di transizione in storyboard. Come può essere fatto senza animazione? C'è un altro approccio per questo compito?
sottoclasse 'UISegue' e sovrascrivere' perform'. – Martol1ni
@ Martol1ni prossima volta voglio aprirlo con l'animazione ... Ormai sto usando l'identificatore '- (id) instantiateViewControllerWithIdentifier: (NSString *) 'ma non penso che questa sia la soluzione migliore – voromax
Stai usando segue, vero? – Martol1ni