2017-05-12 11 views
0

私はストーリーボードを作成しました。最初の画面は起動画面(LaunchViewControllerというカスタムUIViewController)で、次の画面はSampleTabViewControllerというカスタムUITabBarControllerです。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を()、アニメーション:真、完了を:ゼロ)"。それは動作しますが、次の画面は空白です。

私はSwiftでiOSアプリを学び始めました。

ありがとうございました。

+0

は、ナビゲーションコントローラに組み込まれたあなたのLaunchViewControllerですか? – DonMag

答えて

1

TabViewViewControllerをrootViewControllerとして設定してください。

あなたのプッシュのViewController線と置き換えます

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

答えをありがとう。しかし、 "あなたは" rootViewControllerとしてTabbarViewControllerを設定しようとしていますか?私はストーリーボードで何かを変更する必要がありますか? – user826323

+0

このコードをLaunchViewControllerに入れてチェックします。 – KKRocks

+0

rootViewControllerを設定しませんでした。私はちょうどこのコードを使用しました。できます。 let mainStoryboard:UIStoryboard = UIStoryboard(名前: "Main"、バンドル:なし) コントローラをmainStoryboard.instantiateViewControllerWithIdentifier( "careGiverViewController")に設定します。 UITabBarController UIApplication.sharedApplication().keyWindow ?rootViewController = controller アニメーションを追加するにはどうすればよいですか? – user826323

関連する問題