【问题标题】:Navigation bar item as tab bar item导航栏项目作为标签栏项目
【发布时间】:2017-03-29 11:20:27
【问题描述】:

我确实搜索了与我的问题类似的内容,但没有找到任何可以帮助我解决问题的内容。

是否可以将导航栏项目的行为设置为标签栏项目?

我使用 TabBarController。每个选项卡项都应显示相应的 ViewController。当用户点击导航栏中的项目时,它也应该在底部标签栏上显示相应的 ViewController。并且这个 ViewController 应该作为标签栏控制器,而不是在底部标签栏中显示标签项。

如何实现上述场景?或任何其他想法如何实施,拜托!每个 ViewController 的顶部和底部栏几乎总是可见的。

【问题讨论】:

  • 你应该有两个tabBarControllers。第一个控制器将是父集true for tabBar.isHidden ,你应该在每个ViewCotroller 添加类似的按钮,这将改变tabBar.selectedIndex 所以你将有一个 ViewController 用于第一个项目和第二个 tabBarController 这将首先是孩子tabBarController。不要犹豫,问我更多

标签: ios swift


【解决方案1】:

从 IB 中的条形按钮项拖放到您的类文件并定义一个出口,然后在 viewDidLoad 创建一个手势识别器,向您的手势识别器添加一个动作,一切就绪。我希望它有所帮助。

class SomeClass: UIViewControler {

let someBarButton:UIBarButtonItem!
  override func viewDidLoad() {
    super.viewDidLoad()

      let tap = UITapGestureRecognizer(target: self, action: #selector(SomeClass.tapFunction))
             someBarButton.addGestureRecognizer(tap)
   }

  func tapFunction() {
    //take me to a view controller
   self.performSegue(withIdentifier: "myIdentifier", sender: self)
  }
}

【讨论】:

  • 只是过渡到 ViewController。我想通过点击 barButtonItem 作为 TabBarController 的子项来显示 ViewController。