我正在我的 tableview 上制作自定义标题视图。自定义视图上有一个渐变。
我只希望该渐变显示它是否是唯一可见的标题。
因此,如果用户正在滚动并碰巧看到 tableview 的两个部分,则 tableview 上的第二个部分不应该有渐变。
做到这一点的最佳方法是什么?
我正在我的 tableview 上制作自定义标题视图。自定义视图上有一个渐变。
我只希望该渐变显示它是否是唯一可见的标题。
因此,如果用户正在滚动并碰巧看到 tableview 的两个部分,则 tableview 上的第二个部分不应该有渐变。
做到这一点的最佳方法是什么?
以下是一些想法:
也许在您的表的委托中,您可以缓存标题视图,并且每次请求一个时,检查它的对等点以查看它们是否在屏幕上(由 UIView 的 .window 属性非零确定)。
- (UIView *)tableView:tableView viewForHeaderInSection:section {
if([_headerViews objectAtIndex:section-1].window || [_headerViews objectAtIndex:section+1].window) {
// there are peers on screen
} else {
// this is the only one onscreen
}
}
这只是示例代码,并不能确保正确初始化视图等,只是一个想法。