导航栏项目作为标签栏项目

Posted

技术标签:

【中文标题】导航栏项目作为标签栏项目【英文标题】: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。不要犹豫,问我更多 【参考方案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。

以上是关于导航栏项目作为标签栏项目的主要内容,如果未能解决你的问题,请参考以下文章

添加 Kal 日历作为标签栏项目的根控制器,不使用导航控制器

Swift:如何通过按导航栏按钮访问标签栏项目

Swift 中的标签栏项目

无法将图像添加到标签栏项目反应导航

如何在xamarin表单ios中隐藏标签栏导航标题

导航左侧标签栏项目