做过组头悬停效果的同学应该都知道:如果只设置tableView的style为UITableViewStylePlain,不做其它处理,其组头的悬停位置是tableView的最顶部,显然不能满足需求。
思路:
用修改tableView的contentInset的方式来间接达到修改tableView的组头悬停位置的目的。
参考代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat offsetY = scrollView.contentOffset.y;
// 修改导航栏透明度
self.naviView.backgroundColor = [[UIColor greenColor] colorWithAlphaComponent:((offsetY - 64) / 150.0)];
// 修改组头悬挂位置
if (offsetY >= 200) {
self.tableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
}else{
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
}
}
网友评论