Ich habe eine Anwendung, in der ich einen benutzerdefinierten Splash-View-Controller habe und dann kommt der Tab-Leiste-Controller. Zur Zeit habe ich den Tab-Controller als Start-View-Controller eingestellt. Aber ich möchte zuerst den Splash-View-Controller und dann den Tab-Controller sehen. Irgendeine Idee, wie man das macht?Wie initialisiert man einen benutzerdefinierten Begrüßungsbildschirm, bevor der Tab-Controller im Storyboard geladen wird?
Antwort
Statt pushview Controllers Verwenden presentViewController Versuchen Kodex
override func viewDidLoad() {
super.viewDidLoad()
_ = NSTimer.scheduledTimerWithTimeInterval(2.1, target: self, selector: #selector(Splash.someSelector), userInfo: nil, repeats: false)
// Do any additional setup after loading the view.
}
func someSelector() {
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc : TabBarCotroller = storyboard.instantiateViewControllerWithIdentifier("TabBarCotroller") as! TabBarCotroller
let navigationController = UINavigationController(rootViewController: vc)
self.presentViewController(navigationController, animated: true, completion: nil)
}
Sie können das Video von 5 Sekunden abspielen, während Sie den Tabcontroller viewWillAppear
drücken.
Sie können auch einen Controller zwischen Tabcontroller hinzufügen, so dass Ihr Splash-Controller rootviewcontroller wird.
Als erstes müssen Sie Ihre Splash-View-Controller als RootViewController gesetzt und nach dem Satz modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
zu RootViewController und Ihre tabviewcontroller präsentieren oder eine RootViewController ändern
können Sie bitte mit einem Beispielcode helfen ?? –
Ja, Sie können diese Sache auf diese Weise tun,
Zuerst in Storyboard machen benutzerdefinierte Klasse View-Controller als Initial View-Controller .Drücken Sie anschließend den Tab-Controller auf den aktuellen Navigations-Controller.
Versuchen Sie es, es kann Ihnen helfen.
@Amelia frensheo So etwas:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
appDelegate.window.rootViewController = [[SplashViewCtr alloc] init];
appDelegate.window.rootViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[appDelegate.window makeKeyAndVisible];
UITabBarController *rootViewCtrl = [[UITabBarController alloc] init];
Der erste Weg
[appDelegate.window.rootViewController presentViewController:rootViewCtrl animated:YES completion:nil];
Der zweite Weg
[UIView transitionFromView:window.rootViewController.view toView:rootViewCtrl.view duration:0.5 options:UIViewAnimationOptionTransitionFlipFromRight completion:^(BOOL finished) {
appDelegate.window.rootViewController = rootViewCtrl.view;
}];
Die Frage ist verschlagwortet mit "swift". – Moritz
Vor allem in storyboar d machen benutzerdefinierte Ansicht Controller als Initial view controller
. Und danach drücken tabbar
Controller auf aktuelle navigation controller
.
let tabBar = self.storyboard!.instantiateViewControllerWithIdentifier("tabBarViewController") as! UITabBarController tabBarVC.selectedIndex = 0
self.navigationController?.pushViewController(tabBar, animated: true)
Eine bessere Version davon: 'var navigationController: UINavigationController?' (Aufrufinstanz von navigationController) 'let storyboard = UIStoryboard (Name:" Main ", Bundle: nil) let tabBarViewController = storyboard.instantiateViewController (withIdentifier:" tabBarViewController ") wie! TabBarViewController tabBarViewController.selectedIndex = 0 self.navigationController? .pushViewController (tabBarViewController, animiert: true) ' – itsmcgh
- 1. Wie werden alle Daten geladen, wenn der Begrüßungsbildschirm geladen wird?
- 2. Ausrichten der benutzerdefinierten Ansicht im Haupt-Storyboard
- 3. ProgressBar in Silverlight benutzerdefinierten Begrüßungsbildschirm
- 4. Storyboard-Segment wird aufgerufen, bevor UITableView didSelectRow
- 5. cordova App zeigt einen schwarzen Bildschirm an, bevor der Begrüßungsbildschirm angezeigt wird
- 6. Wie initialisiert man einen CKAsset?
- 7. Eine Aktivität im Hintergrund laden, bevor sie angezeigt wird
- 8. Wie entferne ich einen Navigationscontroller im Storyboard?
- 9. Verwendung von benutzerdefinierten Pushsegue im Storyboard
- 10. ng-src: zeige einen Throbber, bevor ein Bild geladen wird
- 11. Wie man einen Ladebildschirm anzeigt, während der Inhalt geladen wird
- 12. Wie erstellt man einen Begrüßungsbildschirm und führt einen Listview-Prozess im Hintergrund aus?
- 13. Variable, die durch Schließen erfasst wird, bevor sie initialisiert wird
- 14. View-Controller entlassen, bevor man einen weiteren
- 15. ASP.NET: Wie initialisiert werden, wenn * Benutzer Steuerelement * anfänglich geladen wird
- 16. Wie initialisiert man einen Vektor im Konstruktor einer Klasse
- 17. Anwendung DidFinishLaunchingWithOptions wird aufgerufen, bevor Storyboards geladen werden?
- 18. UIView nicht initialisiert vom Storyboard Segue
- 19. Wie wird die API-Methode ausgeführt, bevor Tabellenansicht geladen wird?
- 20. Javascript ausführen, bevor dom geladen wird
- 21. ScrollView im Storyboard erstellt initialisiert mit Frame 0,0,0,0
- 22. Wie initialisiert man std :: unique_ptr im Konstruktor?
- 23. Wie wird der Begrüßungsbildschirm angezeigt, bis das Webview geladen ist? objective-c
- 24. GIF-Datei im Begrüßungsbildschirm Ionic
- 25. Angular - Wie überprüft man, ob der Benutzer erlaubt ist, bevor die Ansicht geladen wird?
- 26. Wie kann man einen Startbildschirm einige Sekunden warten lassen, bevor er ausgeblendet wird?
- 27. Der Begrüßungsbildschirm wird nicht richtig skaliert
- 28. Wie erstellt man einen Begrüßungsbildschirm für die GUI?
- 29. Wie man die Tastatur im Storyboard erscheinen/bleiben lässt Xcode
- 30. Probleme im Begrüßungsbildschirm mit progressDialog
Danke das hat mir geholfen ... –