Я пытаюсь получить заголовок моего uitableview
, чтобы приклеить его к нижней части панели навигации и спрятаться за ней при прокрутке вверх.iOS UITableView HeaderView Придерживайтесь UINavigationBar на Pulldown
Вот что у меня есть, чтобы заставить его скрыться от прокрутки вверх.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat sectionHeaderHeight = 40;
if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
NSLog(@"contentOffset: %f contentinset: %f", scrollView.contentOffset.y, scrollView.contentInset.top);
} else if (scrollView.contentOffset.y >= sectionHeaderHeight) {
NSLog(@"1ST contentOffset: %f contentinset: %f", scrollView.contentOffset.y, scrollView.contentInset.top);
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
}
}
я баловаться с вкладышами и смещение, чтобы попытаться заставить его придерживаться в панели навигации при натяжении вниз. На изображении ниже показано поведение, которое происходит, и когда снижается scrollview
, я не хочу, чтобы красная секция сходила с ним.
Я думал о других способах сделать это, и добавив подвид, который изменяет это положение и высоту при scrollViewDidScroll
может быть вариантом, но я не знаю, как присвоить его uinavigationbar
вместо scrollview
. И я не уверен, как динамично изменить его высоту во время этого.
Я также нашел это: https://github.com/telly/TLYShyNavBar Что делает именно то, что я хочу, чтобы это сделать, если я отключить uinavigationbar
укрывистости, но имеет проблемы работы с uitableviewcontroller
и непрозрачными панелями навигации.
Может ли кто-нибудь указать мне в правильном направлении того, что я мог бы сделать, или если существует существующее решение, о котором я не знаю?