iPhone / iPad / iOS: хитрое использование контроллера панели вкладок - PullRequest
0 голосов
/ 25 августа 2010

Попытка реализовать следующее поведение на iPad.

У меня есть приложение, ориентированное на карту, которое использует интерфейс панели вкладок.Вкладки в нижней части позволяют пользователю выбирать между просмотром различных типов точек, отмеченных на карте (например, думать о пунктах панели вкладок «еда», «проживание» и «газ», где «На вкладке "еда" отображается список всех ресторанов в этом районе и т. д.).

В верхней части экрана всегда должна отображаться карта.Нижняя половина экрана - это то, что должно контролироваться панелью вкладок.Однако на панели вкладок должна быть одна вкладка, которая сделает карту полноэкранной (не охватывающей саму панель вкладок, а охватывающей все остальное).

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

Спасибо!

1 Ответ

1 голос
/ 25 августа 2010

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

- ViewController
- View
   - View // place contents here
   - TabBar
      - Item1 // link action to ViewController
      - ...

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

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