单个标签栏项目根据条件显示不同的视图控制器?

时间:2016-12-21 22:30:16

标签: ios swift uitabbarcontroller uitabbaritem

我正在使用标签栏控制器制作一个包含几个不同标签的应用。我在第一个选项卡中将项目添加到包中,并在下一个viewcontroller中更新购物车。如果用户转到第二个选项卡(购物车)而没有添加任何内容,我希望它显示一个视图控制器,说明购物车是空的。如果他们一旦添加了东西就去了它,那么它将显示一个表格视图。

有没有办法告诉标签栏控制器根据条件显示不同的视图控制器?

2 个答案:

答案 0 :(得分:3)

最简单的选择是使用一个RtlExitUserThread,其视图有两个子视图,带有购物车项目的表格视图(A)和另一个带有购物车的视图(B)是空的'消息。

覆盖其CartViewController功能,并根据购物车显示视图A并隐藏视图B,反之亦然。

可以通过viewControllers属性修改viewWillAppear的子视图控制器。然而,通过对购物车中的变化做出反应来做到这一点很复杂,不值得麻烦,恕我直言。

答案 1 :(得分:2)

您实际上可以呈现相同的UITableViewController。 在UITableViewController中你必须知道你是否有数据。如果您有UITableViewController的数据,那么您将在UITableViewController中显示购物车中的商品,否则您可以在同一UITableViewController中显示空消息。 您可以参考这篇文章在`UITableViewController上显示空消息?

If no Table View results, display "No Results" on screen