应用程序可以使用单个 UIViewController 包含许多自定义 UIViews 吗?如果我使用单个 UIViewController 推动这个想法并隐藏并显示我想在单击按钮/菜单时显示的 UIView,我担心我的应用程序会变慢。这个想法是否可取?请给我一些想法。
这是我对我的项目所做的:
如您所见,我只有一个 UIViewController,我添加了 UIView,它们是 Content、MyPage、News、Schedule、Information 和 Login..
应用程序可以使用单个 UIViewController 包含许多自定义 UIViews 吗?如果我使用单个 UIViewController 推动这个想法并隐藏并显示我想在单击按钮/菜单时显示的 UIView,我担心我的应用程序会变慢。这个想法是否可取?请给我一些想法。
这是我对我的项目所做的:
如您所见,我只有一个 UIViewController,我添加了 UIView,它们是 Content、MyPage、News、Schedule、Information 和 Login..
一旦达到几百个,它可能会变慢,但操纵子视图是正常的。
有时制作多个视图控制器的屏幕很有用,请参见此处:
通常,重要的不是您拥有多少视图,而是您对它们做了什么。
典型的性能瓶颈:
. . 虽然经验将帮助您预测可能导致性能问题的原因,但通常最好在您观察到实际问题之前进行优化 - 即基于使用分析工具进行的实际测量。
正确的结构
您应该构建您的应用程序,以便您拥有:
一个根视图控制器,负责管理窗口的主布局。(滑动以显示菜单、主要内容区域、标题栏等)。. . 对于典型的应用程序,您可以只使用 UINavigationController(或类似的 UIKit 提供的类)作为根。对于更复杂的东西,你可以自己制作。这称为 UIViewController遏制,您可以谷歌了解它(或点击其他答案中的链接)。
在根视图控制器中,您可以添加子视图控制器。这些子视图控制器又拥有自己的视图和层次结构。您应该通过它们的控制器与这些子视图交互,而不是直接与视图交互。. . 这将为您提供更易于维护的代码库,并且符合 MVC 模式的意图。
概括: