iOS UITableView HeaderView在下拉时保持在UINavigationBar上
我试图让uitableview的标题视图在下拉时粘在导航栏的底部,在向上滚动时隐藏在导航栏后面 这是我用来把它隐藏在卷轴上的东西iOS UITableView HeaderView在下拉时保持在UINavigationBar上,ios,objective-c,uitableview,uiscrollview,uinavigationbar,Ios,Objective C,Uitableview,Uiscrollview,Uinavigationbar,我试图让uitableview的标题视图在下拉时粘在导航栏的底部,在向上滚动时隐藏在导航栏后面 这是我用来把它隐藏在卷轴上的东西 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sectionHeaderHeight = 40; if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.content
- (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。我不知道如何在这个过程中动态地改变它的高度
我还发现:
如果禁用uinavigationbar隐藏功能,它会执行我希望它执行的操作,但在使用uitableviewcontroller和不透明导航栏时会出现问题
有人能给我指出我可能做的事情的正确方向吗,或者如果有一个我不知道的现有解决方案
我最终找到了一个有效的解决方案。只要uinavigationbar设置为非半透明,这似乎效果很好