我有两个UITableViewController的“Flowers”和“Trees”。如果您选择特定的花卉或树木,则会显示一些详细信息。所以这是每个人都知道的标准行为。我想要实现的目标如下:
这些UITableViewControllers应该由一个UINavigationController管理,用户应该能够通过UISegmentedControll选择它们,UISegmentedControll放在UINavigationController的Header中。因此,用户可以通过与UISegmentedControl交互来在UITableViewControllers之间切换。如果用户选择一个特定的花或树,则应显示详细信息,并且应使用后退按钮替换UISegementedControl。
这可能吗?我怎样才能做到这一点?如果不清楚我可以尝试画一些图片: - )
谢谢 基督教
答案 0 :(得分:1)
这不是导航控制器的工作方式。导航控制器管理一堆视图控制器。在导航栏中有一个分段控制器,并以某种方式在子视图控制器之间切换 - 如果你可以使它工作 - 违反Apple的人机界面指南。如果你确实让它发挥作用,Apple可能会拒绝你的应用程序。
您所描述的更像是标签栏控制器。我开发了一个客户端的app原型,它使用了一个父视图控制器,它是一个标签栏控制器的变体,它在底部有一个分段控件,可以完成你所描述的。
您可以构建自己的自定义父视图控制器来执行您所描述的操作,但是您应该 NOT 尝试使其在导航控制器中混合视图控制器堆栈。
答案 1 :(得分:0)
这是可行的,尽管这是否可取。导航控制器中的VC不是对等的 - 一个必须是根,其他必须被推送并弹出它。所以你可以这样做:
你可能想隐藏VC2上的后退按钮。
关于可行性:我希望有充分的理由这样做,而不是标准模式。它是过渡时的幻灯片动画吗?这可以在没有nav vc的情况下创建。是否让每个段呈现视图控制器而不是视图?可以说导航vc是一个好的,已经构建的容器vc,使用它可以省去一些麻烦。任何这种情况都不太可能让你的应用被苹果公司拒之门外。