Вопрос

В моем приложении для iPhone есть контроллер панели вкладок в нижней части представления, и на данный момент у меня на нем есть три кнопки.Тем не менее, я хочу добавить больше, но для этого мне нужно превратить последнюю из трех кнопок в кнопку "Подробнее ...", потому что в противном случае текст на других кнопках пересекается друг с другом.

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

Спасибо.

Это было полезно?

Решение

Вам не нужно вручную создавать кнопку "Еще...".Просто добавьте все необходимые контроллеры просмотра в контроллер панели вкладок, и он обработает все остальное.

Другие советы

Вы можете установить кнопку последней панели в качестве кнопки "Еще", даже если в ней всего три вкладки.Код инициализации для этого элемента панели вкладок будет следующим:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMore tag:0];

Сделайте свои имена короче или не используйте панель вкладок.У вас будет пять или шесть контроллеров просмотра, но вы хотите, чтобы только два были доступны в любой момент времени?Если две трети ваших просмотров будут в списке "еще", почему бы просто не отобразить их все в виде списка?Тогда вы могли бы освободить место внизу, и никакой просмотр не потребовал бы дополнительных нажатий.

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

Возможно, вы заметили, что некоторые приложения для iPad, такие как YouTube, содержат более пяти элементов панели вкладок: alt text
(источник: apple.com)

Как это может быть, если UITabBarController настолько одержим тем, что имеет не более пяти контроллеров просмотра?Возможно, Apple добавила какой-то частный метод к UITabBarController в пакете 3.2 SDK, который мог бы вам помочь.Может быть, это называется что-то вроде -_setMaximumNumberOfItems: и, возможно, это устанавливает NSUInteger вызываемая переменная экземпляра _maxItems.Если бы Apple добавила такой закрытый метод, вам все равно пришлось бы дождаться выхода совместимой с iPhone версии 3.2, и даже тогда использование частных методов является плохим.

Измените названия ваших вкладок.Не такое уж это большое дело.

значит, невозможно даже создать приложение для просмотра панели вкладок 6?

даже если название каждого из них очень короткое

давайте скажем что-нибудь в этом роде

красный красный красный красный красный

вместо желтого желтый желтый желтый желтый желтый

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top