选项卡栏控制器内的导航控制器正在显示,但右栏按钮未显示-Swift 4-编程方法

选项卡栏控制器内的导航控制器正在显示,但右栏按钮未显示-Swift 4-编程方法,swift,uinavigationcontroller,uitabbarcontroller,Swift,Uinavigationcontroller,Uitabbarcontroller,我对iOS开发还是新手 目标:使用编程方法(不使用故事板和xib)创建一个iOS应用程序,在顶部使用导航栏(使用.add as right Bar按钮),在底部使用选项卡栏 所以我在这里做了几乎所有的事情: 但显然它不起作用(可能是因为它太旧了?idk),而且我还不习惯配置App委托 所以我有以下几点: 公司视图控制器作为UIViewController 评估ViewController作为UIViewController 选项卡视图控制器作为UITabBarController,UITabB

我对iOS开发还是新手

目标:使用编程方法(不使用故事板和xib)创建一个iOS应用程序,在顶部使用导航栏(使用.add as right Bar按钮),在底部使用选项卡栏

所以我在这里做了几乎所有的事情:

但显然它不起作用(可能是因为它太旧了?idk),而且我还不习惯配置App委托

所以我有以下几点:

  • 公司视图控制器作为UIViewController
  • 评估ViewController作为UIViewController
  • 选项卡视图控制器作为UITabBarController,UITabBarControllerDelegate

  • 我尝试将导航控制器放在每个VCs中(当我点击选项卡栏项目时,导航栏是预期的,但标题和右栏按钮没有显示)
  • 我尝试创建Swift文件UINavigationController,并将其命名为NavigationViewController,然后将其添加到选项卡ViewController->ViewController,但实际情况是,它被添加到屏幕底部的选项卡栏中,因此它不是我需要的,它看起来像一个普通选项卡,而不是一个导航栏
  • 这是我最后一次尝试,它显示导航控制器的标题,但不是它的右栏按钮
  • 类选项卡ViewController:UITabBarController、UITabBarControllerDelegate{ 重写func viewDidLoad(){ super.viewDidLoad() self.delegate=self }

取代了以下内容:

self.navigationController?.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(selectorX))
为此:

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .camera, target: self, action: #selector(selectorX))
替换为:

self.navigationController?.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(selectorX))
为此:

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .camera, target: self, action: #selector(selectorX))