2009-07-17 53 views
0

我有一个UITabBarController,它在标签之间切换很好。我唯一的问题是,有时需要3秒才能响应(调用didSelectViewController)。Tabs- didSelectViewController慢得叫

只有当我在具有不少元素的页面之间切换时,才会发生这种情况,UIViews和UILabels等。当它没有任何添加和删除的视图时,即时回复。

我认为它应该在接收触摸之前做任何事情之前调用didSelectViewController,但这似乎并不是这种情况。有人对我如何加快我的应用程序有任何建议吗?

感谢

回答

1

我希望你的应用程序花费很长时间来呈现视图。我建议通过viewWillAppear:方法来查看是否正在运行缓慢的查询或执行其他显示视图时需要很长时间的其他操作。如果是这样,您可能可以使用缓存或显示占位符页面。如果应用程序很慢,因为您确实有这么多UIView s,请考虑使用自定义渲染的视图,或者使用UITableView,并且只根据需要加载子视图。

在iPhone OS 3.0中有tabBarController:shouldSelectViewController:,它在触摸后被调用,但在选项卡被选中之前被调用。

+0

感谢您的回应。在接收到标签栏触摸后,它会立即在viewController-> viewWillAppear中断,但继续执行时有时需要几秒钟才能进入tabBarController-> didSelectViewController,之后继续将立即显示标签栏项目被选中。除了致电[超级]之外,我没有做任何事情会看/看/出现/消失。无论这两点之间发生什么都会造成重大延误。我只画出屏幕上的东西,所以它不是一个巨大的数量......一些意见,标签,图像。 – Sam 2009-07-20 10:16:13

0

你expiriencing可能来自新观点加载,如果你的预加载您的意见或保留在内存中,一旦你已经加载它们,我认为它们之间switchign不应该花那么长的时间时间...