2017-05-12 38 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

相關問題