2014-09-12 2 views
0

в приложении Google Maps для ios. Когда вы выберете кнопку настроек, она покажет вам варианты, такие как «трафик», «общественный транзит» и т. Д.Частичный отбор для отображения настроек

Вопрос, как это делается на ios.

Я пробовал следующий учебник this, но он говорит, что он не будет работать на uinavigationviewcrollers. Я видел этот частичный вид представления в приложениях, использующих навигационный контроллер. Как они создают это?

enter image description here

ответ

2

Это не частичный отбор. Это не segue вообще, он использует контроллеры представления сдерживания.

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

Помимо этих двух пустых представлений контроллер представления не имеет содержимого. Это связано с тем, что этот контроллер просмотра ничего не делает, кроме управления другими контроллерами представлений, которые застревают в двух представлениях. У них будет несколько способов управлять ими, например, presentInMainView:(UIViewController *)viewcontroller и presentInMenuView:(UIViewController *)viewcontroller

Когда программа запускается, главный контроллер просмотра программно добавит карту в ее «основной» вид. Контроллер отображения карты теперь охватывает весь экран и выглядит так, как будто это контроллер верхнего уровня, но это не так. Он содержится. В какой-то момент несколько нажатий кнопки настроек и контроллер отображения карты совершают вызов его родителям и говорят presentInMenuView:..., а контроллер главного представления затем загрузит второй контроллер представления в вид меню. Вид меню может быть даже расположен с левой стороны экрана, а главный контроллер просмотра оживляет рамку просмотра меню, чтобы он был справа, охватывая весь экран. Предполагая, что контроллер меню имеет только контент, который покрывает левую половину экрана, вы увидите, как скрывается контроллер отображения карты.

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

Для получения дополнительной информации есть the Apple Developer Guide и WWDC 2011 Videos, где она была введена (сессия 102)

0

Я использовал SWRevealViewController Для подобного типа боковой панели animation.They данного хороший пример того, как использовать SWRevealViewController также, пожалуйста, попробуйте один раз.

Смежные вопросы