2015-10-03 129 views
0

在我的項目中,我有ViewController A的登錄,當我按下登錄按鈕時,它顯示ViewController B,我有四個按鈕。當我點擊button1時,我將showSegue直接指向TabBarController,它有兩個選項卡。與按鈕2,3,4相同,我已將showSegue指向NavigationController。其實這是我的TabBarController和NavigationController的層次:從ViewController推送到TabBarController需要延遲

點擊按鈕1:

TabBarController -> 
Tab1 -> NavigationController -> ViewController1 
Tab2 -> NavigationController -> ViewController2 

點擊按鈕2,3,4到:

NavigationController -> ViewController 

我在這個項目中運行使用故事板Swift 2,Xcode 7.當我點擊每個按鈕時,特別是在iPad真實設備上需要將近1-2秒的延遲。糟糕的用戶體驗。我花了一段時間來搜索一些答案,但遺憾的是我沒有找到解決方案,這就是爲什麼我這裏問它..

在此先感謝。

+0

也許您在viewDidLoad中有時間消耗代碼? –

回答

0

也許你應該考慮在按下按鈕時使用異步方法來加載你的控制器。

嘗試使用

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { 

//Background Thread (Get your values - Run your requests) 



dispatch_async(dispatch_get_main_queue(), { 

//Update the UI (Give values to your outlets) 

    }); 
}) 
+0

Actualy我只是在我的故事板中使用showSegue將button1連接到tabbarcontroller。 – user2749248

0

傢伙感謝您分享您的想法,但我想通了問題...其實我的應用程序,我重寫導航方法之一,我改變了導航欄的背景與圖片。圖像太大,這就是爲什麼它在呈現下一個視圖之前造成了一些延遲。改變圖像的大小後,它現在可以正常工作。