2017-06-04 77 views
1

我想使用swift 3在我的應用程序中使用故事板創建視圖控制器。我嘗試使用「啓動圖像」實現與使用「啓動圖像」加載飛濺時啓動屏幕所做的相同的效果。由於我在啓動畫面中獲得了動畫,因此我希望使用視圖控制器作爲Swift 3中的啓動畫面。如何實現此目的?如何在swift 3中將視圖控制器設置爲啓動畫面?

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秒後。按下/呈現您的初始視圖控制器。

您可以設置啓動的ViewController是這樣的: -

self.window?.rootViewController = splashVC 

在viewDidLoad中()splashVC的使用定時器或延遲2-3秒後。顯示您的應用程序的主視圖控制器。

//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

讓我檢查並儘快回覆。 –

相關問題