从ViewController推送到TabBarController需要延迟

时间:2015-10-03 07:14:24

标签: xcode swift

在我的项目中,我有ViewController A用于登录,当我按下登录按钮时,它显示了ViewController B,其中我有四个按钮。当我点击button1时,我将showSegue直接发送到TabBarController,它有两个标签。与按钮2,3,4相同我有showSegue指向NavigationController。实际上这是我的TabBarController和NavigationController的层次结构:

单击按钮1以:

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

点击按钮2,3,4至:

NavigationController -> ViewController

我在这个运行Swift 2,Xcode 7的项目中使用了故事板。当我点击每个按钮时,特别是在iPad真实设备上需要大约1-2秒的延迟。糟糕的用户体验。我花了一些时间来搜索一些答案,但遗憾的是我没有找到解决方案,这就是我在这里问的原因..

提前致谢。

2 个答案:

答案 0 :(得分: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)

    });
})

答案 1 :(得分:0)

伙计们感谢您分享您的想法,但我想出了问题......实际上在我的应用程序中,我覆盖了一种导航方法,我用图像更改了导航栏的背景。图像太大,导致在呈现下一个视图之前导致一些延迟的原因。更改图像大小后,它现在可以正常工作。