需求描述:最近做了一个项目,tableview滚动和顶部按钮联动的问题;
其中,顶部按钮选中的时候,计算scrollview的contentOffSet来计算滑动的位置,这里不做表述;
主要是讲述滚动的时候,让顶部按钮的下划线滚动位置;
主要有以下几个想法:
一:在scrollViewDidScroll方法中,计算scrollView的contenteOffset;但是这里有些分区通过自适应高度进行计算的,无法获取到单元格具体高度,所以这个方法不支持;
二:是我们使用的方法:通过滚动位置,获取对应的分区数;
let offset = CGPoint(x: scrollView.contentOffset.x, y: scrollView.contentOffset.y + NAVIGATION_BAR_HEIGHT * 2)
let index = mainTableView?.indexPathForRow(at: offset)
guard let indexpath = index else {
return
}
if indexpath.row <= 3 {
UIView.animate(withDuration: 0.2) { [unowned self] in
self.customTitleView?.underLine?.frame = CGRect.init(x: 0, y: self.customTitleView!.frame.size.height - 3, width: self.customTitleView!.frame.size.width/3.0, height: 3)
}