悬停位置
当
UITableView
占满屏幕时
组头默认是在
顶部
悬停
在机型
iPhone X
上
会被顶部的
刘海
给挡住
这效果显然不能直视~
理想的效果是:
在
导航
下方悬停
(导航是个自定义的视图
带有渐变效果)
contentInset
官方文档:
The custom distance that the content view is inset from the safe area or scroll view edges.
参考代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offsetY = scrollView.contentOffset.y;
CGFloat tableHeaderViewHeight = CGRectGetHeight(self.tableView.tableHeaderView.bounds);
// 差值 = 头视图高度 - 导航条高度
if (offsetY >= tableHeaderViewHeight - TopBarHeight) {
// 顶部偏移距离:导航条高度
self.tableView.contentInset = UIEdgeInsetsMake(TopBarHeight/*用你自己定义的宏*/, 0, 0, 0);
} else {
self.tableView.contentInset = UIEdgeInsetsZero;
}
}