XCode 8,将UIBUTTON添加到Notial Intial View Controller的Navigation



我正在尝试实现我认为这是一项简单任务的事情,但是尽管这里有类似的帖子,但解决方案仍然使我感到不安。...

我正在使用Xcode 8/swift 3中的Main.storyboard创建一个应用程序,而初始View Controller为UINavigationController。然后,我想推到具有两个视图控制器的UITabBarController,它与:

override func viewDidLoad() {
    super.viewDidLoad()
    let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
    if let vc = mainStoryboard.instantiateViewController(withIdentifier: "test") as? UITabBarController {
        self.navigationController?.pushViewController(vc, animated: true)
    }
}

启动该应用程序时,初始VioneController成功地"推动"到TabbarController/IT's ViewControllers(下图)。我遇到的问题是在TabbarController ViewControllers中添加导航项目/按钮(在情节板或编程中),按钮/导航项目永远不会显示。

故事板设置

模拟器屏幕截图

我已经看到了一些帖子,例如下面的链接,并遵循了逐字化的步骤,但没有解决问题。任何帮助将不胜感激!

将按钮添加到导航控制器如何将按钮添加到导航控制器后可见?

它没有显示,因为您的tabbarcontroller也有自己的uinavigationbar。ViewController在TabbarController

您可以创建自定义TabbarController并处理Tabs Action尝试此代码:

class TabBarController: UITabBarController {
  override var selectedViewController: UIViewController? {
    didSet {
      switch self.selectedViewController {
      case self.selectedViewController is FirstViewController:
        self.navigationItem.rightBarButtonItem = self.firstButton
      case self.selectedViewController is SecondViewControlller:
        self.navigationItem.rightBarButtonItem = self.secondButton
      default:
        break
      }
    }
  }
}

最新更新