使用下图作为参考,当用户按下按钮时,我试图从控制器A转到控制器B-2。
我对iOS很新,所以我遇到了一些问题。 如果我按下B-2控制器或创建一个segue,则不遵守层次结构,并且B-2控制器不在导航控制器内(B)。
我希望用户仍然具有导航功能,并且仍然可以使用后退按钮返回控制器B-1。
控制器A& B都在相同的Tab控制器(Z)
下我怎样才能做到这一点?
答案 0 :(得分:0)
最后我找到了这个解决方案:
从控制器A我得到父(Z),将活动控制器设置为第二个孩子(B)并得到他的孩子(B-1)。
一旦我有B-1,我可以调用执行segue,它的效果非常好。 层次结构是正确的,它正是我想要的行为
代码是这个
if let tab = self.parentViewController as? UITabBarController{
tab.selectedIndex = 1
if let one = tab.childViewControllers[1] as? UINavigationController{
if let two = one.childViewControllers[0] as? MatchTableViewController{
two.performSegueWithIdentifier("open_chat_view", sender: matchModel)
}
}
}