认识到误会

时间:2017-06-30 13:00:56

标签: ios swift segue unwind-segue

我对我的应用程序中segue的工作方式感到困惑。

我有TabBarController,我的ViewController内嵌NavigationController

enter image description here

我在segue" mySegue"中添加了标识符。因此,当我在ViewController内部执行某些操作时,我会运行

performSegue(withIdentifier: "mySegue", sender: self)

所以进行了segue,但我有一些我不理解的事情。

  1. 视图显示时没有标签栏和导航栏。为什么?我认为默认情况下它们应该是可见的。

  2. 我希望segue能够被动画化 - 所以视图将从右到左呈现,而且我也能够放松它(只需通过滑动返回)。但是向后滑动不起作用,视图从下到上呈现。为什么?

3 个答案:

答案 0 :(得分:0)

您应该将segue的类型设置为Push - 这样导航控制器将发出层次结构,它实际上会被推送到其堆栈,因此名称。

答案 1 :(得分:0)

如果你想让你的segue水平转换,你需要使用(显示例如推送)segue,就像这样。它默认会向后滑动

[1]: https://stackoverflow.com/a/

答案 2 :(得分:0)

因为这不是我第一次遇到这个问题 - 我需要指出问题所在。也许它会帮助别人,因为似乎segue中的所有东西都是正确的,但它不会按照应有的方式工作。

在我的情况下 - 这是因为segue是在界面构建器中创建的,不是从ViewController的黄色圆圈拖动到第二个ViewController。 Segue是从一个子视图创建的,甚至是ViewController中的TableView / TableViewCell。所以在这种情况下,它没有在NavigationController中创建segue。