Как сделать горизонтальный прокручиваемый UITabBar в iOS? - PullRequest
5 голосов
/ 13 декабря 2011

UITabBar в моем приложении состоит из 10+ элементов, но ширины достаточно, чтобы поместить все 10+ элементов.

Как создать горизонтальную прокручиваемую UITabBar в iOS?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 13 декабря 2011

Вам придется хотя бы до некоторой степени свернуть свое собственное.

Что может сработать, так это создать представление UITabBar (а не контроллер) и встроить его в UIScrollView. Затем вы можете использовать это вместо обычного элемента управления панели вкладок, добавив его в ваш TabBarController.view / tabBarView или что-то еще. Конечно, вам придется поиграть, чтобы он выглядел правильно, и я не уверен, что если просто установить представление на что-то более широкое, на самом деле оно будет отображать больше элементов или нет.

Конечно, для достижения наилучших результатов вы, вероятно, захотите сделать что-то совершенно нестандартное.

2 голосов
/ 13 августа 2014

Можно, конечно, пойти и создать собственный класс UITabBar (встраивая его в представление прокрутки и т. Д.) ... но зачем изобретать велосипед? После поиска я обнаружил, что уже созданы несколько сторонних классов, которые хорошо работают, просты в использовании и легко настраиваются. В порядке личных предпочтений:

M13InfiniteTabBar - https://github.com/Marxon13/M13InfiniteTabBar

JSScrollableTabBar - https://github.com/jasarien/JSScrollableTabBar

InfiniTabBar - https://github.com/iosdeveloper/InfiniTabBar

2 голосов
/ 13 декабря 2011

с портала разработчика Apple:

Если вы добавите более пяти элементов в свойство viewControllers, контроллер панели вкладок автоматически вставит специальный контроллер представления (так называемый контроллер представления More), чтобы обрабатывать отображение дополнительных элементов. Источник

Похоже, вам нужно будет создать собственную панель вкладок.

Они также сказали это в следующем абзаце:

Хотя представление панели вкладок является ключевой частью интерфейса панели вкладок, вы не изменяете это представление напрямую. Делая это, вы можете нарушать руководящие принципы Apple в отношении дизайна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...