分段控制和滚动视图,将视图保存在内存中

Posted

技术标签:

【中文标题】分段控制和滚动视图,将视图保存在内存中【英文标题】:Segmented Control and Scroll View, Keeping Views in Memory 【发布时间】:2016-10-19 02:05:31 【问题描述】:

我想要实现的基本上是一个 Instagram 个人资料类型的屏幕。

我正在尝试重新创建分段控制部分以及下面的内容。

我考虑过放置一个包含分段控件的容器视图和一个在 3-4 个视图之间切换的滚动视图。

我看到了很多实现这一点的方法,不管有没有滚动视图(我不太喜欢的是 .ishidden 方法)。

我主要关心的是记忆。我不知道将它们保存在内存中还是从头开始加载它们是否更好,以及如何做到这一点。你能指出我正确的方向吗?

【问题讨论】:

【参考方案1】:

instagram 应用程序并没有完全按照您的描述进行 - 看起来分段控件中仅有的前两个选项交换了下面的视图。最后两个导航到另一个视图

您肯定想加载您的视图,将它们分配给strong 属性,然后将它们换掉。

在 Interface Builder 中添加一个自定义视图,这将是您的容器,然后将其连接到控制器中的 IBOutlet。您可以在实例化控制器时实例化滚动视图,然后您可以将滚动视图作为子视图添加到容器中。然后当按下分段控件时,您可以删除该子视图,并将其替换为选定的新子视图。

就内存分配而言,Instagram 可以说拥有一些最大的视图来换出(几张图片)。然而,您可以知道滚动视图存储在内存中,因为您可以在它们之间切换而无需重新加载图像

【讨论】:

以上是关于分段控制和滚动视图,将视图保存在内存中的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图不水平滚动

ios中带有表格视图的嵌套滚动视图

如何在滚动视图中填充图像以填充屏幕?

如何快速将视图控制器放入滚动视图中

表格视图顶部的分段控件,但不在标题视图中

UIKit 状态保存不恢复滚动偏移