IPhone dev: создание скользящих ящиков, таких как приложения Path и Facebook
Новое приложение Facebook, похоже, покончено с компоновкой сетки иконок с более интересным настраиваемым макетом навигации, в котором в самом нижнем представлении отображаются все параметры (например, "Профиль", "Лента новостей", "Сообщения" и т.д. для Facebook) и нажатие на одном из них открывается другой вид сверху. Вы можете нажать кнопку 3-х строчные, чтобы снова открыть нижний вид, но текущий вид частично виден. Приложение Path также недавно обновилось, чтобы соответствовать этой схеме.
Какой лучший способ воссоздать это? Я искал любые варианты с открытым исходным кодом, но не нашел их. Кажется, что это не поддерживает Three20.
Ответы
Ответ 1
Попробуйте использовать их из Cocoa Элементы управления:
JTRevealSidebar http://cocoacontrols.com/platforms/ios/controls/jtrevealsidebar
clcascade http://cocoacontrols.com/platforms/ios/controls/clcascade
StackScrollView http://cocoacontrols.com/platforms/ios/controls/stackscrollview
Еще много на одном сайте:
http://cocoacontrols.com/platforms/ios/controls/mfslidingnavigationcontroller
http://cocoacontrols.com/platforms/ios/controls/psstackedview
Ответ 2
Другая опция, которую я написал: ECSlidingViewController
Он поддерживает изменения ориентации, такие как Facebook, и скользит влево, как Path.
Видео-демонстрация: http://vimeo.com/35959384
Код: https://github.com/edgecase/ECSlidingViewController
Ответ 3
Я нашел действительно хороший проект для github:
https://github.com/devindoty/DDMenuController
Ответ 4
Все, что я видел в Интернете, и те, которые рекомендовал Йоси Тагури, слишком сложны. Ящики могут быть достигнуты с помощью очень простой категории в UINavigationController без каких-либо графических ресурсов и без расширения класса и обратно совместимы с iOS 3.0!
Взгляните на это:
http://code.google.com/p/drawer-navigation-controller/
Вот видео http://www.youtube.com/watch?v=5T-1-_pFbG0
Ответ 5
Этот проект (не упомянутый выше) выглядит как самый зрелый и отполированный для меня: https://github.com/gotosleep/JASidePanels
Также, кажется, все еще активен.
Изменить: с тех пор я перешел на: https://github.com/mutualmobile/MMDrawerController, который IMO является почти идеальной реализацией.
Ответ 6
Проверьте мой ответ здесь - SplitView, как приложение Facebook на iPhone - который содержит список открытых исходных кодов.
Ответ 7
если кто-то задается вопросом, какой из них выбрать среди JTReveal и DDMenu, я бы предложил DDMenucontroller через JTRevealSidebar (не использовали другие опции, перечисленные @Yosi). Его намного проще, легче и работает именно так, как работает приложение Path (и его легче модифицировать в соответствии с вашими требованиями). Havent видел проблему черного фона, упомянутую @Henning
Ответ 8
Мой проект FRLayeredNavigationController в GitHub идет примерно в одном направлении.
(Интервал между слоями легко настраивается и, конечно, поддерживает вращение).
Посмотрите демо-ролики/скриншоты:
Ответ 9
Здесь еще один: PPSlideDrawer.
http://www.localwisdom.com/blog/2013/05/simple-sliding-drawer-implementation-for-ios/
Я проверил @Ephraim ответ (http://code.google.com/p/drawer-navigation-controller/), потому что с ним довольно легко работать. Проблема, похоже, с контроллером drawer-navigation-controller заключается в том, что анимация прокрутки не следует за пальцем пользователя - она автоматизирована. PPSlideDrawer стремится решить это. Я собираюсь попробовать его в своем проекте и опубликую некоторые обновления.
Возможно, для некоторых это может быть разбойник, который находится под "TODO:"
- Реализовать автоматическую открытую функциональность.
- Внедрить саблей из граничной функциональности (а не просто обнаруживать жест панорамирования).
- Ландшафтная поддержка.
Ответ 10
Вот что очень легко реализовать и использовать с раскадрой. Он имеет контроль за сокращением, отображать скрытые анимации и направление.
https://github.com/HelloMihai/HMSideDrawerDirectional