2016-06-02 10 views

Antwort

4

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) 
} 
+0

Danke das hat mir geholfen ... –

0

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.

0

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

+0

können Sie bitte mit einem Beispielcode helfen ?? –

0

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.

1

@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; 
}]; 
+0

Die Frage ist verschlagwortet mit "swift". – Moritz

4

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) 
+0

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

Verwandte Themen