在 UIViewController 中创建大量 UIView 是故事板的好习惯吗?对内存之类的应用有影响吗?

Is creating a lot of UIViews in UIViewController a good practice for storyboards? Does it have any impact on application like memory?

今天听说故事板中设计视图的新方法

让我们考虑一页包含图像、标签和按钮的故事板,如下所示

1] 我们的一个 UIViewController 分为三部分,即 3 个 UIViews 用于 3 个组件,例如一个 UIView 用于图像
2] 为了保持图像响应,取另一个 UIView 并将 imageView 保留在其中,然后设置约束并保持 imageView 纵横比的宽度和高度。
3] 我为不同的 UIViews 赋予了不同的颜色以供理解 最终等级如下

因此根据屏幕截图,您可以看到视图的响应速度更快,并且在一个 UIView 中所做的更改不会反映在另一个 UIView 中,并且我们的视图层次结构得到了维护。

终于来答题了
1] 这种方法正确吗?
2]这么多的UIView视图对应用程序的内存和性能有什么影响吗?

第一个问题的答案:

如何处理大量视图的方法?不,这是不正确的。如果您在 scrollView 中有很多视图,请使用 UITableView 或 UICollectionView,因为它们可以更好地处理、重用和布局 - UIKit 免费提供的功能。如果您在一个屏幕上有很多视图而无需滚动 - 尝试使用 UIStackView - 它会为您提供很多自动布局和非常容易的编辑和更新布局,而不是使用自动布局/布局掩码。 UIStackView 可以认为是 AutoLayout 生成器。

第二个问题的答案:

没有。使用大型故事板对内存和性能的影响并不比通过代码生成更大。

故事板有两个主要问题:

1) 大型故事板对 XCode 的性能有影响。尤其是旧款 Mac。

2) 如果两个或更多人同时在一个故事板中工作,您需要注意,不要一起编辑相同的 ViewController 或创建新的,否则您会发生存储库冲突(与 2 人相同同一时间编辑同一段代码),但你必须在xml中解决它,什么是可读的,但需要一些时间才能理解。

我尝试了很多这种方法,我发现这种方法解决了很多设置约束的问题。这种方法与 Bootstrsp 类似。我们将通过 UIViews 划分孔屏,最后将我们的主要设计视图放入其中。直到现在我还不知道这种方法在内存和速度方面对应用程序有什么不好的影响。以后我会解释。

非常感谢。