TabBarController 路由

问题描述

我使用依赖注入实现了这个 Routing system包括第二部分,但现在没有使用深层链接

一切正常,但以编程方式更改选项卡时出现问题。我创建了一个包含 next 函数的 tabrouter,因此任何包含此路由器作为路由的 viewmodel 都可以调用它。

func changeTab(to tab: Tabs) { 
    root?.tabBarController.selectedindex = tab.rawValue
}

代码正确更改选项卡,但如果我尝试从那里显示新视图,路由器系统将继续将最后一个视图作为参考。

示例:我有三个选项卡,主页、购物车和设置。用户正在查看 CartTab 中的产品列表并按下按钮进行支付,用户没有添加任何付款方式,因此我们以编程方式从 我们假设显示 PaymentView的位置更改为 SettingsTab >,但是即使 SettingsTab 已打开,路由器系统仍将 CartTab 作为当前参考,因此 PaymentView 正在从 CartTab 呈现,即使用户现在正在观察 SettingsTab。

用户返回 CartTab 时,可见视图将是 PaymentView。

为什么您认为路由器系统没有取消分配或更改为显示的新选项卡?

或者你能给我推荐一个更好的路由解决方案吗?

在此先感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)