Несколько UINavigationControllers, похожих на Карты - PullRequest
0 голосов
/ 07 апреля 2011

Я собираюсь создать пользовательский интерфейс, похожий на интерфейс приложения «Карты», просто чтобы опробовать некоторые моменты и освежить свои знания конструктора интерфейсов.

На данный момент я пытаюсь понять, как приложение Maps обрабатывает взаимодействия между панелью инструментов и контроллером навигации и какие элементы пользовательского интерфейса необходимы для имитации интерфейса. Я предполагаю, что в приложении «Карты» есть только один контроллер представления, что отчасти устраняет необходимость в контроллере навигации, поэтому я не уверен, что сейчас я использую правильный шаблон приложения, но я вернусь к этому позже.

Чтобы дать вам представление о том, что я хочу скопировать, если вы ищете направления между двумя точками и затем нажимаете маршрут, контроллер навигации меняется с:

[Очистить] Направления [Отмена]

до:

[Редактировать] {машина | поезд | прогулка} [Пуск]

Пока все нормально, ничего необычного из того, что я привык делать. Однако меня смущает полупрозрачный вид под контроллером навигации, который отображает общее расстояние и время (или другую информацию в зависимости от метода поиска). Что такое элемент пользовательского интерфейса? Это просто панель инструментов, прикрепленная к основному виду? Как мне добавить это в мое приложение, является ли оно частью представления или частью контроллера навигации?

Кроме того, в том же духе ... Щелчок по сегменту "Search" на панели инструментов отображает поле поиска в верхней части приложения. Это в навигационном контроллере, или навигационный контроллер скрыт, пока отображается поле поиска? Опять же, нажав «Направления», вы увидите поле поиска, но на этот раз с дополнительным полем поиска и кнопкой, чтобы изменить порядок полей. Как это достигается?

Я не очень хорош в терминологии, поэтому извините, если я перепутал некоторые термины. Я просто пытаюсь разобраться с элементами пользовательского интерфейса, так как большую часть своего времени я изучал OpenGL, поэтому для меня это все еще немного ново. Если кто-то может указать на правильные элементы пользовательского интерфейса, используемые в приложении «Карты», это будет с благодарностью!

Большое спасибо за чтение.

Редактировать: я загрузил изображение , чтобы проиллюстрировать элементы пользовательского интерфейса, которые я запрашиваю в этом вопросе.

1 Ответ

0 голосов
/ 07 апреля 2011

У меня нет внутренней информации, поэтому я размышляю над тем, как бы я это сделал.

Я бы использовал UIToolBar для верхней и нижней полос, а не для панели навигации.Вы можете разместить панель инструментов в любом месте, так как они являются просто подклассом UIView.

Полупрозрачный вид под контроллером навигации, скорее всего, просто настраиваемый вид в верхней части вида карты.Опять же, просто подкласс UIView.

Элементы на обеих панелях инструментов будут вызывать методы в контроллере представления, которые могут изменить содержимое панели инструментов или скрыть или показать другие представления.

Например,кнопка «Поиск» может вызывать метод showSearchToolbar: метод, в то время как Directions вызывает метод showDirectionsToolBar: метод.Оба метода просто изменили бы содержимое верхней панели инструментов и скрыли или отобразили бы представление под верхней панелью инструментов.

Посмотрите пример кода UICatalog от Apple, чтобы узнать, как динамически изменять содержимое панели инструментов..

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