【问题标题】:Swift- Weird Behaviour with Show SegueSwift - Show Segue 的奇怪行为
【发布时间】:2019-01-23 19:49:57
【问题描述】:

计算机科学专业的学生刚到这里 swift。我可能正在为一些超级初级的东西而苦苦挣扎,但我已经考虑了很长时间,所以我想我需要一些帮助。我一直在玩一个非常简单的应用程序,它使用导航控制器和标签栏控制器。作为参考,它看起来像this

花了一段时间,但我发现了 unwind segue 是什么,我终于让所有的导航工作了。所有按钮都指向正确的位置,导航按钮工作等等。就在我进入项目的下一部分时,即向我的根视图添加背景图像时,我的根视图和标签栏之间的导航控制器变得很奇怪。

通常,只有一个简单的按钮,它使用从根视图到标签栏控制器的简单显示序列。但由于某种原因,它开始显示垂直而不是正常的水平动画。在我开始添加背景图像之前,它工作得非常好。我完全不知道我做了什么导致了这种行为。我在 stackoverflow 上查看了 this 线程,这表明导航控制器可能为零,但我不知道如何解决这个问题。

我尝试过删除和制作新的网点等,但没有奏效。提前感谢您的帮助

【问题讨论】:

  • 关于术语的说明:您正在 Apple 的 Interface Builder (IB) 中构建您的应用程序。 IB 使用自己的导航术语,在编程上下文中未使用,例如segue。 segue 是 IB 描述视图控制器之间导航的包罗万象的方式,[以编程方式]可以是 pushpresentshow。使用导航栏中的后退按钮的典型从左到右导航是push(前进)和pop(后退)。通常占据整个屏幕的默认自下而上(模式)导航是present(向上)和dismiss(向下)。
  • 感谢@slickdaddy 提供的信息。将来肯定会让事情变得更清楚

标签: ios swift uinavigationcontroller uitabbarcontroller segue


【解决方案1】:

只有一个简单的按钮,它使用从根视图到标签栏控制器的简单显示序列。但是由于某种原因,它开始显示垂直而不是正常的水平动画

这完全取决于您是否拥有导航控制器。正如您所说的正确,如果您没有导航控制器,Show segue 会神奇地变成 Present Modally segue,这就是当 segue 从底部向上执行垂直动画时所看到的。

【讨论】:

  • 谢谢@matt。但是,该按钮在很长一段时间内都可以完美地作为显示转场运行,所以我想知道为什么它的行为突然改变了,以及如何解决这个问题。
  • 这是因为你做了一些与导航控制器有关的事情。但我不知道那是什么,因为我看不到你的故事板。您的情节提要中有导航控制器吗?启动您的应用程序并查看控制台;您是否收到有关导航控制器变得精神错乱的警告?
  • 这里 (i.stack.imgur.com/aeanY.png) 是我的故事板图像的链接。我显然还不允许嵌入图像,所以我很抱歉该链接在我的原始帖子中不是很明显。我的应用程序的结构是 root->tab bar controller-->nav controller 1--->vc 1,-->nav controller 2--->vc 2。我的控制台也没有显示任何警告。感谢您的耐心等待!
  • 从 root 到标签栏控制器的 segue 以模态方式显示而不是显示
  • 这很有意义,因为根不在导航控制器内。我的回答也是这么说的。
猜你喜欢
  • 2012-06-29
  • 2016-01-28
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 1970-01-01
相关资源
最近更新 更多