gpt4 book ai didi

ios - 后退按钮在节目转场时消失

转载 作者:可可西里 更新时间:2023-11-01 02:16:42 24 4
gpt4 key购买 nike

我已经阅读了几篇关于这个问题的帖子,但我一直在进行故障排除和之前的 solutions似乎没有解决问题(即解决方案指定仅在导航 Controller 中嵌入父 Controller ,我已经尝试过)。为了按照以前的帖子解决这个问题,我已经删除了其他 View 在它们自己的导航 Controller 中的嵌入——但似乎无法从一个 TableView 到另一个 TableView 物理地绘制 segue;或者它不显示后退按钮...

基本上,“后退”按钮在 segue 上消失了。在第二个 TableViewController 和最后一个 ViewController(最后)中没有看到它。显然,它会重新出现在父级中。

Storyboard Image

编辑:当我从其他两个 View 中删除导航 Controller 时,这些 VC 上根本不会出现导航栏。该栏完全消失,尽管它出现在第一个栏上。这就是我现在的配置方式。

New Storyboard

最佳答案

导航 Controller 遵循 Stack theory .当您将某些东西压入堆栈时,它会将顶部索引计数递增 1 并在堆栈中弹出某些东西时,它会将顶部索引计数减少 1。

在导航 Controller 中,第一个 Controller 将是您的 Root View Controller 。现在,当您在导航 Controller 中推送新的 View Controller 时,您的顶部索引计数将为 2。但是您不是在同一个导航 Controller 中推送 viewController(比如说 Stack1),而是在创建新的导航 Controller (比如说 Stack2)。

所以在这里您将新 Controller 设置为新导航 Controller (Stack2) 的根 viewController 并且没有要弹出的项目,这就是它不显示后退按钮的原因。

要解决这些问题,请从第二个和第三个 View Controller 中移除导航 Controller 。

要推送,您可以使用 segue 或以编程方式进行。

swift

let vc2 = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController2") as? ViewController2
self.navigationController?.pushViewController(vc2!, animated: true)

objective-c

ViewController2 *vc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"];

[[self navigationController] pushViewController:vc2 animated:YES];

Navigation Controller Guideline

编辑如果您在第二个 VC 上看不到导航栏

  1. 确保您没有在第二个 VC 中通过代码隐藏它。
  2. 确保您正在插入第二个 VC 而不是展示 VC。
  3. 在 Interface Builder 中选择 VC -> Attribute Inspector -> Top bar should be inferred。
  4. 如果您正在使用 segue,那么 segue type(kind) 应该是 Show

关于ios - 后退按钮在节目转场时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37660084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com