Мне нужен совет эксперта по этой реализации UITabBarController - PullRequest
1 голос
/ 22 июля 2011

Мне нужно 8 TabBarItems, и я могу показать только 4 элемента в поле зрения. И мне нужно иметь возможность прокрутить до следующих 4 вкладок BarItems.

В поведении UITabBar по умолчанию вы обычно получаете вкладку «БОЛЬШЕ» для более чем 5 элементов панели вкладок. Я хочу, чтобы это была кнопка прокрутки вместо кнопки БОЛЬШЕ.

Так ~ ~ Если я нажму кнопку прокрутки (или пятую) tabBarItem, она должна отобразить еще 4 элемента панели вкладок с кнопкой обратной прокрутки.

Вот мои способы сделать это - -

  1. Реализация Scroll UITabBarItems, но это будет означать, что мне придется работать над проектом с нуля, и это не лучший вариант для меня.

  2. Я могу нажать контроллер вида на последней вкладке и показать новый вид с 4 значками панели вкладок, и работать над этим. (Возникают проблемы с выталкиванием контроллера панели вкладок из контроллера панели вкладок)

  3. Я могу сделать модальный контроллер вида для следующих четырех вкладок и выдвинуть его, когда я нажму кнопку прокрутки назад. (Возникли проблемы с настройкой tabbarcontroller в качестве текущего контроллера модального представления)

  4. Удаление всех представлений из массива tabBarViewController и добавление новых при нажатии на соответствующую вкладку. И снова перезагрузите те же вкладки при нажатии на предыдущую вкладку. Каковы осложнения этих? Я не хочу беспокоить rootController.

Есть еще что-нибудь, о чем вы можете подумать?

Какой бы подход я ни выбрал, Мне нужна анимация скольжения между двумя видами.

Буду признателен, если кто-нибудь сможет дать совет специалиста о том, что можно сделать.

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Я вижу только два хороших варианта:

  1. Бросайте вкладки в канализацию, примите, что эти восемь вариантов слишком много для панели вкладок. Вместо этого перейдите на экран выбора верхнего уровня. Используйте табличное представление со списком или домашний экран, например, таблицу параметров.
  2. Укуси пулю и реализуй свой собственный LGInfiniteTabBarController, включая LGInfiniteTabBar, который на самом деле ведет себя так, как тебе хочется. Нет стандартного контроля за тем, что вы хотите.
0 голосов
/ 22 июля 2011

Вы можете получить делегата – tabBarController:didSelectViewController: и, если это контроллер вида с края, выполнить анимацию и отключить свои контроллеры представления tabbarcontrollers.У вас будет пустой viewcontroller, у которого есть элементы панели вкладок с надписью «Next» или «Prev» или что-то еще, и вы управляете отдельными массивами контроллеров представления с пустым viewcontroller в тех вкладках, которые будут отображаться больше.Затем просто поменяйте местами соответствующие контроллеры вида, когда пользователь использует эту вкладку.

...