【问题标题】:Navigation item disappears with popover导航项随着弹出框消失
【发布时间】:2018-01-15 10:37:45
【问题描述】:

我创建了一个显示列表的弹出窗口,其中我将文本发送到另一个视图控制器,但是当我关闭弹出窗口时,导航项消失了,我已经没有搜索任何内容来解决这个问题。在弹出框中发送选定列表项的代码是这样的:

Shared.shared.filialNome = self.filiais[indexPath.row].razaoSocial
self.recebeCodigo = self.filiais[indexPath.row].codigo
Shared.shared.codigoFilial = self.recebeCodigo

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "AniversarioViewController") as! AniversarioViewController
self.present(newViewController, animated: true, completion: nil)

跟随类型 = 模态 我尝试将 Present 称为 Popover 但错误仍然存​​在,似乎它没有完全关闭 VC,有人可以帮助我。

Before opening the popoverAfter opening the popover

【问题讨论】:

  • 这种行为似乎在 iOS 10/11 的某个地方发生了变化。只需使用 setNavigationBarHidden 方法在需要的地方覆盖它。
  • 可以分享项目。将在 ios 11 上检查一项技术
  • 你是如何关闭弹出窗口的??
  • igraczech,方法我已经用过了,还是没有成功

标签: ios swift popover


【解决方案1】:

看起来,当您展示视图控制器时(并且在我们将其嵌入导航控制器之前,视图控制器没有导航项)。 因此,您可以将相同的 ViewController 嵌入故事板的导航控制器中,然后获取该导航控制器的引用并呈现导航控制器,如

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let navController = storyBoard.instantiateViewController(withIdentifier: "YourNavigationControllerIdentifier") as! UINavigationController
self.present(navController, animated: true, completion: nil)

或者如果你不想嵌入,你可以像编程一样做

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "AniversarioViewController") as! AniversarioViewController
let navController = UINavigationController.init(rootViewController: newViewController)
self.present(navController, animated: true, completion: nil)

【讨论】:

  • 您好,第二个选项效果很好,但是导航按钮的操作停止工作,我该如何打开它们?非常感谢
  • 抱歉,您说的是哪些按钮。我认为您可能需要在 newViewController 类中为其导航控制器添加 Bar 按钮
猜你喜欢
  • 2016-05-04
  • 2016-04-10
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 2013-08-10
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多