|
|
1
3
我处理类似问题的方法是生成所有4个(在我的例子中)选项卡视图,但是通过释放除当前选项卡视图以外的所有视图来响应didReceiveMemoryWarning。(然后,当然,当用户选择新选项卡时,必须确保创建新视图(如果该视图不存在)。 我认为这是一个很好的折衷方案——一开始是对用户的快速反应(在我的例子中,在我的应用程序中,内存占用在这一点上是最低的),然后是对低内存的反应,以避免被击中。 |
|
|
2
1
我认为最好是在父视图或视图控制器中有三个对子视图的uiview*引用,所有这些引用最初都为空,然后让子例程隐藏其他两个视图(如果它们可见),并构造和显示或只显示新视图。假设没有特别的内存需求。 我认为,对于这样一个小屏幕区域,子视图级别的加载/卸载问题不太可能是一个问题,但是如果需要加载/卸载父视图,则子视图应该全部打开(既隐藏又卸载),并且在重新加载时,LoadView应该在启动时调用上一段中描述的例程。 如果这三个子视图中的任何一个子视图实际上使用了大量的内存或资源,那么我的建议是相反的,并且每个子视图和/或它们后面的任何内存密集型对象不仅应该隐藏,而且应该尽可能卸载。我认为你在那里使用谷歌地图,需要卸载时隐藏可能适用于这一点。 这是正确的观点吗?我有没有遗漏一些额外的细节? |
|
3
1
您可以让每个选项卡都是一个具有NIB和所有内容的真实视图控制器。唯一的问题是,您必须转发您想要接收的标准视图控制器调用(viewwillappear等),但它使编码变得更干净,因为您的编码方式与其他任何视图相同(尽管空间较小)。 您可以调用每个控制器的“视图”属性来获取视图,该视图作为选项卡下容器视图的子视图添加。 |
|
|
4
1
如果这三个视图都是表视图,则可以不使用
对于选项卡本身,考虑子类化
|
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
routern · 如何组合contextMenu和圆角矩形? 1 年前 |
|
|
DevHome98 · 3D触摸不适用于设备swift 2 年前 |
|
|
dunoiww · 从全屏返回时如何触发onAppear 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 2 年前 |
|
|
Community wiki · 查找iOS日历 2 年前 |
|
|
Community wiki · 有效的IPhone编程技术[关闭] 2 年前 |