我有一个UITabBarController,可以在标签之间切换。我唯一的问题是有时需要3秒才能响应(调用didSelectViewController)。
这只发生在我在具有相当多元素的页面之间切换时,UIViews和UILabels等。当它没有任何添加和删除视图时立即响应。
我认为它应该在接收触摸之前做任何其他事情之前调用didSelectViewController,但似乎并非如此。有没有人对如何加快我的应用程序有任何建议?
由于
答案 0 :(得分:1)
我希望您的应用需要很长时间才能呈现视图。我建议逐步执行viewWillAppear:
方法,看看你是在运行慢查询还是在显示视图时花费大量时间做其他事情。如果是这样,您可以在发生这种情况时使用缓存或显示占位符页面。如果应用程序很慢,因为您确实有这么多UIView
,请考虑使用自定义呈现的视图,或者考虑使用UITableView
并仅在需要时加载子视图。
在iPhone OS 3.0中有tabBarController:shouldSelectViewController:
触摸后调用,但在实际选择标签之前调用。
答案 1 :(得分:0)
您到期的时间可能来自新视图加载,如果您预先加载视图或在加载后将其保存在内存中,那么我认为它们之间的切换不应该花费很长时间......