我正在尝试根据TableView内部的滚动进度更新单元格上的一些约束。目标是重新创建这种效果:https://youtu.be/VMyNHq3CO04?t=416(在6:56)
我目前所有单元格都带有空格和圆角。现在,我获得tableView的scrollView的偏移量的位置,并运行以下功能:
func updateCellState(position: CGFloat) {
let numberOfItems = tableView.numberOfRows(inSection: 0)
for i in 0..<numberOfItems {
guard let cell = tableView(tableView, cellForRowAt: IndexPath(row: i, section: 0)) as? FMReceiptReviewCellWithContextualActions else {
break
}
tableView.beginUpdates()
self.stretch = position / 1000 > 1 ? 1 : position / 1000
cell.delegate?.updateCellState(position: position)
cell.setNeedsLayout()
cell.layoutIfNeeded()
tableView.endUpdates()
}
}
updateCellState
占据scrollView的位置以按比例更新我的约束。
但是此代码存在一些主要问题:
updateCellState
)reloadData()
,但不适合平滑流动)您是否知道我该如何复制上面提到的效果?