【发布时间】:2021-12-25 21:30:59
【问题描述】:
我需要实现一个屏幕,列出我从 API 接收的数据。有一个mode 导航栏按钮,用于更改数据在同一屏幕(同一视图控制器)中的显示方式
在末尾添加了一个 gif 以便于可视化。我的概念很相似,但不需要过渡动画。
任务本身非常简单,但我无法确定处理此“模式切换”的最佳方法是什么。我想出了以下选项。
选项 1:每种模式有 2 个不同的视图控制器。 ContainerVC 持有一个状态,并在模式切换时更改 childVC。我认为这是数据不同时的最佳方法 - 例如在分段控制中。由于在我的情况下,两个子视图控制器中使用的数据相同,因此管理它可能会有问题。
选项 2:我们为每种模式提供 2 个不同的视图(例如 tableView - mapView),我们根据在同一视图控制器中选择的模式添加/删除这些子视图。使用这种方法,我的视图控制器很容易变得庞大且无法在心跳中维护
选项 3:类似于选项 2,但不是添加/删除,而是显示/隐藏其中一个视图。
我不确定是否有其他方法可以提供更简洁的方法来解决此问题,我很乐意阅读资源/文档以阅读您的分享
【问题讨论】:
标签: ios swift uiviewcontroller