2015-01-21 5 views
0

Я пытаюсь получить заголовок моего 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 и непрозрачными панелями навигации.

Может ли кто-нибудь указать мне в правильном направлении того, что я мог бы сделать, или если существует существующее решение, о котором я не знаю?

enter image description here

ответ

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