Как создать стиль pinterest, скрывающий/скрывая панель навигации/вкладки?

Как создать скрытую/скрытую навигационную панель, как то, что делает pinterest и многие другие приложения? Я знаю, что основная идея заключается в использовании делегата UIScrollView и определении того, прокручиваю ли я вверх или вниз и покажу панель навигации на основе этого. Должен ли я также настраивать высоту просмотра навигатора, если панель навигации скрыта? Как это работает?

Ответ 1

У меня есть образец проекта, расположенный на github, который делает именно стиль pinterest/piictu 'скрыть файл UINavigationController/UITabBarController'

https://github.com/tonymillion/ExpandingView

Ответ 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, но я считаю, что вам это не нужно в этом случае.

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