2017-06-04 21 views
1

私はswift 3を使用してアプリケーションのスプラッシュ画面としてストーリーボードからビューコントローラを作成しようとしています。私はスプラッシュ画面と同じ効果を達成しようとしています。私はスプラッシュ画面でアニメーションを持っているので、私はSwift 3のスプラッシュ画面としてビューコントローラを使いたいと思っています。これを達成するには?スイフト3でスプラッシュ画面としてView Controllerを作成するにはどうすればよいですか?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    // Override point for customization after application launch. 
    self.window = UIWindow(frame: UIScreen.main.bounds) 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 

    let initialViewController = storyboard.instantiateViewController(withIdentifier: "splashScreen") 

    self.window?.rootViewController = initialViewController 
    self.window?.makeKeyAndVisible() 
    return true 
} 

答えて

4

rootViewControllerは、スプラッシュスクリーンを有し、かつ、そのビューコントローラを示すの2-3秒後としてビューコントローラを作ってみましょう。最初のView Controllerをプッシュ/プレゼンテーションします。

あなたはスプラッシュのViewControllerをこのように設定することができます -

のviewDidLoadで
self.window?.rootViewController = splashVC 

()splashVCのタイマーや遅延を使用し、2-3秒後。アプリケーションのメインView Controllerを表示します。

//MARK:- Life Cycle Methods 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.splashTimeOut(sender:)), userInfo: nil, repeats: false) 
     // Do any additional setup after loading the view. 
    } 

func splashTimeOut(sender : Timer){ 
    AppDelegate.sharedInstance().window?.rootViewController = yourCustomViewController 
    } 

は、ユーザーの便宜のためAppdelegateにこのメソッドを追加します -

class func sharedInstance() -> AppDelegate{ 
     return UIApplication.shared.delegate as! AppDelegate 
    } 
+0

をはい、私はswift3中のviewDidLoad機能は、メインビューコントローラをプッシュすることを持つことを望みます。それで答えを編集してください。私は確かにそれをサポートします。 –

+0

あなたのために働くことを願っています。 – Himanshu

+0

すぐに確認してみましょう。 –

関連する問題