[英]After using a storyboard segue the Tab bar is not showing
有一些类似的问题,但不完全相同,有些问题已经很老了。 基本上,在我按下按钮执行 performSegue 后,标签栏会丢失。
视图控制器布置在故事板中,但我以编程方式将文本和按钮放入其中。 转场 1 和 2 是故事板转场,属于“模态当前”类型。 在右上角的视图控制器中,当按下其中一个按钮时,它会设置一个变量并执行 Segue 2。这是 Tab Bar 不可见的地方。
Segue 3 是一个关系 segue,您可以看到当它被选中(第一张图片)时,它会在“第二个视图”上显示标签栏。 但在第二张图片中,它显示选择了 segue 2 并且缺少标签栏。
我像这样调用segue 2:
performSegue(withIdentifier: "ShowChapter", sender: self)
根据我读过的内容,我想我可能需要在某处使用导航控制器。 目前我没有导航控制器,所以为了测试我的代码,我必须停止执行并重新开始。
如果有人能告诉我如何在 segue 2 之后显示 Tab 栏,我将不胜感激。
使用 unwind @IBAction 创建自定义 UITabbarController
class CustomTabBarViewController: UITabBarController { @IBAction func unwindToVC2(segue: UIStoryboardSegue) { dismiss(animated: true) { self.selectedIndex = 1 } } }
在模态呈现的视图控制器中创建手动展开 segue(按住 ctrl 从文件所有者拖动到退出)并将其标识符设置为“segueFromVCXToVC2”
在模式呈现的视图控制器中执行自定义展开转场
performSegue(withIdentifier: "segueFromVCXToVC2", sender: nil)
这将关闭模态视图控制器并选择标签栏视图控制器的第二个选项卡
Adobels 解决方案走在正确的轨道上,我试过了,但没有奏效。 最后的诀窍是右上角的视图控制器上的一个按钮,它做了一个 self.dismiss 然后改变了 tabbarcontroller 选择的索引。
这是按钮调用的函数。 (章节选择按钮)
@objc func selectChapter(button: UIButton) {
CurrentChapter = button.tag
self.dismiss(animated: false, completion: nil)
if let tabBarController = self.presentingViewController as UITabBarController {
tabBarController.selectedIndex = 1
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.