2017-05-12 37 views
0

我创建了一个故事板。第一个屏幕是启动屏幕(自定义的UIViewController称为LaunchViewController),下一个屏幕是自定义的UITabBarController,名为SampleTabViewController。iOS swift - 以编程方式进入下一个自定义UITabBarController

我想让它在LaunchViewController上2秒后自动转到SampleTabViewController。

但是我发现的一些示例只是从自定义的UIViewController到自定义的UIViewController。

我已经在故事板上的“SampleTabViewController”相关的屏幕上设置了'sampleTabViewController'。

这是我的代码。

class LaunchViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
    print("LaunchViewController is initialized"); 

    let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 2 * Int64(NSEC_PER_SEC)) 
    dispatch_after(time, dispatch_get_main_queue()) { 
     // Put your code which should be executed with a delay here 

     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let controller = storyboard.instantiateViewControllerWithIdentifier("sampleTabViewController") 


     self.navigationController.pushViewController(controller, animated: true) 

    } 
} 

我试过“self.presentViewController(CareGiverViewController(),animated:true,completion:nil)”。它可以工作,但下一个屏幕是空白的。

我刚开始用Swift学习iOS应用程序。

谢谢。

+0

是您的LaunchViewController嵌入导航控制器? – DonMag

回答

1

尝试将tabbarViewController设置为rootViewController。

替换为您推送的ViewController线:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let controller = mainStoryboard.instantiateViewController(withIdentifier: "sampleTabViewController") as! UITabBarController 
UIApplication.shared.keyWindow?.rootViewController = controller 
+0

感谢您的回答。但你是什么意思“尝试将TabbarViewController设置为rootViewController”?我是否需要改变故事板上的内容? – user826323

+0

不把这段代码放在LaunchViewController中,并检查 – KKRocks

+0

我没有设置rootViewController。我只是使用这个代码。有用。 let mainStoryboard:UIStoryboard = UIStoryboard(name:“Main”,bundle:nil) let controller = mainStoryboard.instantiateViewControllerWithIdentifier(“careGiverViewController”)as! UITabBarController UIApplication.sharedApplication()。keyWindow?.rootViewController = controller 但是,我应该如何添加动画? – user826323

相关问题