2017-01-11 4 views
0

Я хочу добавить barButtonItem на tabBar, поэтому мне не нужно использовать контроллер навигации в верхней части экрана.barButtonItem on tabBarController

Мои ViewControllers встраиваются в tabBarController:

enter image description here

И я хочу, чтобы добавить barButton на каждом ViewController например:

enter image description here

и их реализовать код, как:

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

     } 
    } 

для запуска функции при нажатии этой кнопки.

Проблема в том, что эта кнопка не отображается на tabBar при создании приложения.

enter image description here

я надеялся, что это будет достижимыми без необходимости создания пользовательского TabBar.

+0

Просто чтобы быть ясно, вы хотите бревно из кнопки, чтобы показать в каждом View Controller для каждой вкладки? – Mochi

+0

извините, что кнопка выхода находится временно. я пытался добавить красную кнопку меню в панель вкладок, которую я сделал в построителе интерфейса с элементом кнопки. эта кнопка не отображается на панели вкладок при создании приложения. – Pippo

+0

Вы хотите реализовать эту красную кнопку меню как одну из вкладок в вашем UITabViewController или в верхней части экрана? – Mochi

ответ

0

Я не совсем понимаю, о чем проблема, которую вы описываете. Вы пытаетесь добавить кнопку «Выход» в верхнем правом углу экрана, используя только UITabBarController? Почему вы против использования UINavigationController? Это невероятно легко реализовать с помощью раскадровки (что похоже, что вы все равно используете).

Apple, даже имеет страницу о том, как реализовать UINavigationController внутри UITabBarController здесь: https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html

Ключевая информация здесь:

Чтобы создать объединенный интерфейс с тремя вкладками, которые содержат пользовательские контроллеры просмотра и один который содержит контроллер навигации:

  1. Создайте три настраиваемых контроллера вида, по одному для каждой вкладки, и навигационный контроллер.
  2. Выберите три пользовательских контроллера вида и навигационный контроллер (только сценарий контроллера навигации, а не его корневой вид контроллер).
  3. Выберите «Редактор»> «Вставить»> «Контроллер панели вкладок».
  4. Дисплей контроллера панели вкладок в качестве первого контроллера представления, выбрав опцию Is Initial View Controller в атрибутах инспектор (или представить контроллер представления в пользовательском интерфейсе в другой путь.)
+0

Я пытаюсь добавить кнопку на панель вкладок, в этом случае отображается красная кнопка меню. эта кнопка не отображается на панели вкладок при создании приложения – Pippo

0

по словам Apple, документации,

UIBarButtonItem - элемент панели кнопок находится кнопка специализирован для размещения на объекте UIToolbar или UINavigationBar. Он наследует базовое поведение кнопки из своего абстрактного суперкласса UIBarItem. UIBarButtonItem определяет дополнительные методы инициализации и свойства для панелей инструментов и навигационных панелей.

Поскольку вы против ввода контроллера навигации в свой проект, UINavigationBar не реализован, для чего предназначены UIBarButtonItems. Если вы хотите реализовать свою кнопку «Меню» поверх экрана в одном из ваших контроллеров просмотра. Почему бы просто не использовать UIButton, как внутри UIView? Синий фон - это обычный UIView с UIButtons внутри него.

enter code here

+0

ok Я просто создаю собственный класс табеля, чтобы я мог запускать свой собственный код с помощью кнопки в панели вкладок – Pippo

Смежные вопросы