2017-01-11 85 views
0

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

我ViewControllers嵌入在tabBarController:

enter image description here

,我想添加一个barButton每个视图 - 控制如:

enter image description here

并实现像一些代码:

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

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

问题是这个按钮没有显示在应用程序构建时的tabBar上。

enter image description here

我希望这将无需创建定制的TabBar实现的。

+0

只是要清楚,你想注销按钮在每个视图控制器来显示每个标签? – Mochi

+0

抱歉,注销按钮暂时在那里。我试图将红色菜单按钮添加到选项卡栏中,这是我在界面生成器中使用栏按钮项目完成的。该按钮不会在构建应用程序时显示在标签栏中。 – Pippo

+0

你想实现这个红色的菜单按钮作为你的UITabViewController或在屏幕顶部的选项卡之一? – Mochi

回答

0

我不太明白你描述的问题是什么。您是否想通过仅使用UITabBarController在屏幕右上角添加“注销”按钮?你为什么反对使用UINavigationController?使用故事板实现起来非常简单(无论如何,它看起来就像是在使用)。

苹果甚至对如何实现的UITabBarController这里内一个UINavigationController页:https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html

主要信息在这里:

要创建包含自定义视图控制器三个标签,一个组合接口包含导航控制器的选项卡:

  1. 创建三个自定义视图控制器,一个用于每个选项卡和一个导航控制器。
  2. 选择三个自定义视图控制器和导航控制器(只有导航控制器的场景,而不是它的根视图 控制器)。
  3. 选择编辑器>嵌入>标签栏控制器。
  4. 通过选择选项显示的标签栏控制器作为第一视图控制器是在属性初始视图控制器 检查器(或呈现视图控制器在用户界面中 另一种方式。)
+0

我想添加一个按钮到标签栏,在这种情况下,红色的菜单按钮显示。这个按钮不会显示在标签栏上,当应用程序构建时 – Pippo

0

据苹果文档,

的UIBarButtonItem - 酒吧按钮项是专门用于放置 一个UIToolbar或UINavigationBar的对象上的按钮。它从其抽象超类UIBarItem继承基本的 按钮行为。 UIBarButtonItem定义了用于工具栏和导航栏的附加初始化方法和 属性。

由于您反对在您的项目中放置导航控制器,UINavigationBar未实现,这是UIBarButtonItems的用途。如果你想在你的一个视图控制器的屏幕上实现菜单按钮。为什么不在一个像这样的UIView中使用UIButton?蓝色的背景只是一个普通的UIView,其中包含UIButtons。

enter code here

+0

好吧我只是创建自定义tabbar类,所以我可以从标签栏中的按钮运行我自己的代码 – Pippo