2013-05-11 8 views
4

Я использовал довольно общий шаблон проектирования для стандартной навигации по слайду IOS. Я основывал проект на примере, найденном здесь: http://www.raywenderlich.com/32054/how-to-create-a-slide-out-navigation-like-facebook-and-path. В базовом дизайне используются четыре контроллера вида, контроллер центрального звена, контроллер левого представления, контроллер правого представления и главный контроллер контейнера для хранения и управления тремя другими видами. Основной контейнер помещает центральный контроллер сверху, и когда пользователь скользит по его или большому пальцу влево или вправо, представление переместится, чтобы отобразить соответствующий контроллер ниже. Недавно я адаптировал это к проекту, который имеет почти тридцать разных контроллеров. У меня есть работа с начальным видом, но мне интересно, что является лучшим способом масштабирования этой функции? Я хочу, чтобы эта навигационная система была доступна на каждой странице, чтобы пользователь мог легко перемещаться и перемещаться в любую точку мира. Контроллеры справа и слева всегда будут одинаковыми независимо от того, на каком контроллере вы находитесь, есть ли способ иметь общий основной контейнер, который динамически загружает центральный контроллер в зависимости от вида пользователя, на котором работает пользователь? Или мне нужно пойти и внедрить контроллер контейнера для каждого отдельного контроллера, который я хочу использовать для навигации по навигации? Очевидно, я бы подумал, что первый метод будет наиболее эффективным и масштабируемым, но я не знаю, как это сделать, или если это возможно.Лучший способ добиться слайдов Навигация IOS

+1

Хорошо, если бы ваш центральный контейнер был навигационным контроллером, все было бы в порядке. Главный контроллер не должен ничего знать о содержании центрального контроллера – jrturton

+1

Проверьте https://github.com/mutualmobile/MMDrawerController –

+0

О, это правда, что я никогда не думал об этом. поэтому у меня будет один контроллер навигации с несколькими сегментами для всех других контроллеров в проекте? Как диспетчер навигации не туда, куда идти? @jrturton – ScottOBot

ответ

3

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

Вот пример с открытым исходным кодом слайд нав как Facebooks

mfsidemenu

На сайте эта ссылка ведет (www.cocoacontrols.com) имеет много OpenSource IOS управляет, как хорошо!

+3

Я смотрю в open source и сторонние решения для многих вещей, которые я сейчас делаю, и реально, как mfsidemenu. Однако, поскольку я начинаю развиваться для компании или организации, многие из них отклоняются от таких решений, поскольку проекты, которые слишком зависят от них, представляют собой риск, если код больше не будет поддерживаться в следующей версии инструментов разработки Apple. Прекрасным примером этого являются библиотеки ASIHTTPRequest. Кроме того, назовите меня мазохистом, но мне нравится создавать мои собственные решения, поскольку они помогают мне узнать, что на самом деле происходит. @CodingJedi – ScottOBot

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