最近开发遇到一个挺纠结的需求,矛盾点在于我需要控制悬浮的位置,多方查验,找到了解决方案
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//sectionHeaderHeight 是sectionHeader的高度
CGFloat height = 100;//height是正的就是向下偏移 正负代表了方向
if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0)
{
scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);//有的介绍是 UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);但是我实验在项目中刷新会有点问题
}
else if (scrollView.contentOffset.y >= sectionHeaderHeight)
{
//当视图滑动的距离大于header时,这里就可以设置section1的header的位置啦 其实这个位置可以更大一些 只要你能确定顶部的高度
scrollView.contentInset = UIEdgeInsetsMake(sectionHeaderHeight+height, 0, 0, 0);
}
}