Tabs-didSelectViewController很慢被调用

时间:2009-07-17 16:49:38

标签: iphone cocoa-touch

我有一个UITabBarController,可以在标签之间切换。我唯一的问题是有时需要3秒才能响应(调用didSelectViewController)。

这只发生在我在具有相当多元素的页面之间切换时,UIViews和UILabels等。当它没有任何添加和删除视图时立即响应。

我认为它应该在接收触摸之前做任何其他事情之前调用didSelectViewController,但似乎并非如此。有没有人对如何加快我的应用程序有任何建议?

由于

2 个答案:

答案 0 :(得分:1)

我希望您的应用需要很长时间才能呈现视图。我建议逐步执行viewWillAppear:方法,看看你是在运行慢查询还是在显示视图时花费大量时间做其他事情。如果是这样,您可以在发生这种情况时使用缓存或显示占位符页面。如果应用程序很慢,因为您确实有这么多UIView,请考虑使用自定义呈现的视图,或者考虑使用UITableView并仅在需要时加载子视图。

在iPhone OS 3.0中有tabBarController:shouldSelectViewController:触摸后调用,但在实际选择标签之前调用。

答案 1 :(得分:0)

您到期的时间可能来自新视图加载,如果您预先加载视图或在加载后将其保存在内存中,那么我认为它们之间的切换不应该花费很长时间......