iOS开发UITableViewStylePlain取消Head

2022-08-16  本文已影响0人  心成则玲

有时候我们的需求需要头部悬停,首先我们想到的是设置tableView的style为UITableViewStylePlain,但是我们此时不需要footView悬停,那我们该怎么办?
我们可以设置tableView的contentInset属性

tableView.contentInset = UIEdgeInsetsMake(0, 0, -10, 0);

如果我们不需要headerView悬停,又不想改变tableView的属性怎么办?
可以利用ScrollView的代理来设置contentInset的值

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat sectionHeaderHeight = 44;
    if (scrollView.contentOffset.y <= sectionHeaderHeight  && scrollView.contentOffset.y >= 0)
    {
        scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
    }
    else if (scrollView.contentOffset.y >= sectionHeaderHeight)
    {
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    }
}

我们可以指定headerView悬停和不悬停,方法如上,但是要计算好偏移量

上一篇下一篇

猜你喜欢

热点阅读