Ausgabe
Bearbeiten: Beim Lösen dieses Problems habe ich festgestellt, dass es viel einfacher ist, mit Ihrem zu beginnen UITabBarController
und dann die Anmeldevalidierung überAppDelegate.m
die didFinishLaunchingWithOptions:
Methode Ihres durchzuführen.
Frage:
Dieser Code befindet sich in der application didFinishLaunchingWithOptions:
Methode in meiner AppDelegate.m
if([result isEqualToString: @"log"])
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"TabBarControl"];
[(UINavigationController*)self.window.rootViewController pushViewController:ivc animated:NO];
NSLog(@"It's hitting log");
}
Es nimmt einfach eine HTTP-Antwort für den angemeldeten Benutzer entgegen und bringt ihn zu meinem TabBarController. Das Problem ist, dass es einen Push anstelle eines modalen Übergangs verwendet, um die Seite anzuzeigen. Da die Methode presentModalViewController in iOS7 veraltet oder gelöscht ist, wie kann ich eine modale Präsentation programmgesteuert erzwingen?
Lösung
Schnell
So würden Sie es in Swift machen, ohne auf den Navigationscontroller zu verweisen:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let secondViewController = storyboard.instantiateViewController(withIdentifier: "secondViewController") as! SecondViewController
self.present(secondViewController, animated: true, completion: nil)
Ändern Sie den Namen des Storyboards, den Ansichtscontroller und die ID nach Bedarf.
Siehe auch So schließen Sie einen View-Controller programmgesteuert .
Beantwortet von – Suragch
Antwort geprüft von – Jay B. (FixError Admin)