一个视图控制器可以处理多少个子视图和表视图

时间:2013-08-06 08:21:12

标签: iphone ios objective-c performance uiview

我有一个应用程序,其中UIScrollView是视图控制器的主要子视图。用户可以在不同的UIView之间向左/向右滚动。每个视图都有自己的UITableView

我的问题是一个视图控制器处理之前可以看到多少视图和表视图才会变得迟钝和慢? 是否可以拥有10个视图和10个表格视图,并且仍可在iPhone 4上顺利运行,还是应该采用其他方式?如果是这样,我该如何改进呢?

编辑:

我一直在考虑使用UIPageViewController,但我想要在屏幕之间滚动视差(雅虎天气般)。 雅虎如何处理这么多观点?

1 个答案:

答案 0 :(得分:0)

您可以拥有大量的视图和子视图,这些视图和子视图都由同一个控制器处理。除非当前正在显示视图,否则不会绘制视图。

话虽如此,如果您开始注意到性能问题(例如,如果不再需要立即删除表的内存),肯定会有一些回收解决方案可以用来加快速度。

您开始出现并发症的主要原因是计算填充数据。如果您有10个表视图,则所有数据源和委托方法都会变慢。您可以使用容器视图来封装视图逻辑。另外,正如评论中所提到的,UIPageViewController可能是一个很好的解决方案。