Как создать скрытую/скрытую навигационную панель, как то, что делает pinterest и многие другие приложения? Я знаю, что основная идея заключается в использовании делегата UIScrollView и определении того, прокручиваю ли я вверх или вниз и покажу панель навигации на основе этого. Должен ли я также настраивать высоту просмотра навигатора, если панель навигации скрыта? Как это работает?
Как создать стиль pinterest, скрывающий/скрывая панель навигации/вкладки?
Ответ 1
У меня есть образец проекта, расположенный на github, который делает именно стиль pinterest/piictu 'скрыть файл UINavigationController/UITabBarController'
Ответ 2
Я пробовал https://github.com/tonymillion/ExpandingView и столкнулся с кучей проблем.
Я закончил свой собственный контроллер навигации, чтобы синхронизировать все анимации и использовал этот код прокрутки, чтобы выяснить, должен ли я расширяться или сокращаться. iOS >= 5.0
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
MyCustomNavController* navController = (MyCustomNavController*)self.parentViewController;
if( [scrollView.panGestureRecognizer translationInView:self.view].y < 0.0f ) {
[navController setExpanded:YES animated:YES];
} else if ([scrollView.panGestureRecognizer translationInView:self.view].y > 0.0f ) {
[navController setExpanded:NO animated:YES];
}
}
Ответ 3
Я бы, вероятно, попытался создать свой собственный корневой контроллер с прокруткой в качестве основного вида и поместить в него навигационный контроллер. Вы не можете использовать полосу прокрутки в окне navbar, но я считаю, что вам это не нужно в этом случае.
Если этот подход не работает, я бы, вероятно, создал свой собственный контроллер, который имитирует внешний вид навигационного контроллера.