tabBarController上的barButtonItem

时间:2017-01-11 23:22:35

标签: ios swift uitabbarcontroller uitabbar uitabbaritem

我想在tabBar上添加一个barButtonItem,所以我不必在屏幕顶部使用导航控制器。

我的ViewControllers嵌入在tabBarController中:

enter image description here

我想在每个viewcontroller上添加一个barButton,例如:

enter image description here

他们实现了一些代码:

    func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        if item.tag == 4 {

        }
    }

点击此按钮时运行一个功能。

问题是,当构建应用程序时,此按钮不会显示在tabBar上。

enter image description here

我希望无需创建自定义tabBar即可实现。

2 个答案:

答案 0 :(得分:0)

我不太明白你所描述的问题是什么。您是否尝试添加退出'仅使用UITabBarController在屏幕右上角的按钮?你为什么反对使用UINavigationController?使用故事板实现起来非常容易(看起来你似乎还在使用它)。

Apple甚至有一个关于如何在UITabBarController中实现UINavigationController的页面:https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html

这里的关键信息:

  

使用包含自定义视图控制器的三个选项卡和一个包含导航控制器的选项卡创建组合界面:

     
      
  1. 创建三个自定义视图控制器,每个选项卡一个,以及一个导航控制器。
  2.   
  3. 选择三个自定义视图控制器和导航控制器(仅限导航控制器场景,而不是它的根视图   控制器)。
  4.   
  5. 选择编辑器>嵌入>标签栏控制器。
  6.   
  7. 通过在“属性”中选择“是初始视图控制器”选项,将标签栏控制器显示为第一个视图控制器   检查器(或在您的用户界面中显示视图控制器)   另一种方式。)
  8.   

答案 1 :(得分:0)

根据Apple文档,

  

UIBarButtonItem - 一个条形按钮项是专门用于的按钮   放置在UIToolbar或UINavigationBar对象上。它继承了基础   来自其抽象超类UIBarItem的按钮行为。该   UIBarButtonItem定义了其他初始化方法和   工具栏和导航栏上使用的属性。

由于您反对在项目中放置导航控制器,因此未实现UINavigationBar,这是UIBarButtonItems的用途。如果要在其中一个视图控制器中在屏幕顶部实现菜单按钮。为什么不在这样的UIView中使用UIButton?蓝色背景只是一个常规的UIView,里面有UIButtons。

enter code here