Ios 在MVVM中+;协调员,如何处理子视图?
我正在做一个iOS MVVM+Coordinator/RxSwift项目(非swiftUI) 在groundViewController中,屏幕上有多个项目,用户可以点击任何项目来调用该项目的详细视图。点击一个项目后,详细视图将滑入,当用户点击另一个项目时,详细视图将滑出,然后随着更新的信息再次滑入。detailedView是屏幕大小的一半,用户还可以点击groundViewController上的空白区域以关闭详细视图(滑出动画)。(因此只有一个detailedView) 我决定将该详细视图作为UIView,它将有自己的协调器和视图模型,并添加到groundViewControll.view中。但我现在对如何在它们之间沟通或事件流感到困惑 问题:在MVVM/Coordinator模式中,将此流设置为:Ios 在MVVM中+;协调员,如何处理子视图?,ios,swift,mvvm,rx-swift,Ios,Swift,Mvvm,Rx Swift,我正在做一个iOS MVVM+Coordinator/RxSwift项目(非swiftUI) 在groundViewController中,屏幕上有多个项目,用户可以点击任何项目来调用该项目的详细视图。点击一个项目后,详细视图将滑入,当用户点击另一个项目时,详细视图将滑出,然后随着更新的信息再次滑入。detailedView是屏幕大小的一半,用户还可以点击groundViewController上的空白区域以关闭详细视图(滑出动画)。(因此只有一个detailedView) 我决定将该详细视图作
groundViewController (receive a tap on the object) - >
groundViewModel - >
groundCoordinator (creat and pass itemID ) - >
detailedViewCoordinator (creat) - >
detailedViewModel and detialedView
谁应该负责detialedView的滑入/滑出动画?当地面视图收到点击时,它会告诉地面视图模型
物品创建和销毁的具体时间有一些变化,但以上是总体思路。地面协调员应负责显示细节并将其忽略。您应该将协调器的路径传递到detailView,这将触发另一个细节,但首先关闭当前细节。因此,当细节视图可见时,您仍然可以看到地面视图上的项目并与之交互?@DanielT。你说得对。这就是我选择UIView而不是UIViewController的原因之一。我刚刚更新了问题,让它更清楚。谁应该负责/触发detialedView的滑入/滑出动画?细节协调器触发它,视图控制器执行它。