Как ограничить количество вкладок в UITabBarController?

У меня есть рабочее приложение для iPhone с UITabBarController. Все работает отлично. В приложении больше вкладок, чем показано на ширине портрета дисплея, поэтому мы видим всего 5 вкладок (последняя - вкладка "больше" ). Дело в том, что мы хотим отбросить некоторые "менее интересные" вещи за вкладкой "больше". Я знаю, что если бы у меня было всего 2 контроллера представления, тогда я бы увидел только 2 вкладки и так далее, пока не превысил 5 вкладок.

Как мы можем показать только 4 вкладки (3 плюс вкладка "больше" ) вместо 5?

Мое предположение: это невозможно, просто установив атрибут (что, безусловно, было бы удобно!), поскольку я не могу найти что-либо в документах, или, если честно, предложить другое.

За исключением внедрения моей собственной вкладки "больше" и подачи контроллера панели вкладок только с 4 контроллерами представлений (последний из которых является моим собственным "более" контроллером), любые советы, трюки или подсказки оценены. Спасибо!

Ответ 1

Просто хотел обернуть это. В конце концов, я реализовал свой собственный контроллер "Больше" и предоставил UITabBarController всего 4 контроллера представлений, последний из которых был моим контроллером More.

Контроллер Custom More больше, чем общий подкласс класса UITableViewController, который я создаю, когда создаю основные вкладки UITabBarController и связанные с ними контроллеры. Затем я добавляю заголовки строк и соответствующие UIViewControllers в массив в контроллере большего размера. Когда эта вкладка видна, а строка нажата, я просто нажимаю соответствующий контроллер вида.

Весь эффект выглядит полностью "запасом", за исключением того, что у меня есть 4 вкладки вместо 5. Это было меньше хлопот, чем я думал, что это будет реализовано. Всегда бонус.

Надеюсь, это поможет кому-то спуститься.

Ответ 2

Это не представляется возможным при использовании стандартного UITabBarController. Я также не думаю, что кто-то еще столкнулся с этой проблемой и решил ее для вас уже.

Ответ 3

У вас либо будет подкласс UITabBarController, который может немного запутаться, либо просто напишите свой собственный элемент управления вкладками, как вы упомянули. На самом деле нет другого способа обойти это, как упомянули @blueberryfields. Пользовательские панели вкладок кажутся довольно распространенными при решении этой проблемы, и я предлагаю идти по этому маршруту, если вы действительно настроены на отображение только трех вкладок за раз.