Представление статистики над табличным представлением должно быть скрыто при прокрутке вниз. При медленной прокрутке он работает так, как ожидалось, однако при быстрой прокрутке кажется, что представление застревает. Так что, вероятно, константа верхнего ограничения обновляется неправильно.
-> Видео
Вот мой код:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let maxYOffset = scrollView.maxContentOffset.y
let viewHeight = statsView.bounds.height + topPadding * 0.75 // topPadding == 16
let yOffset = scrollView.contentOffset.y
let relativeYOffset = yOffset - topPadding
guard maxYOffset >= viewHeight, yOffset <= viewHeight, yOffset >= 0 else { return }
statsViewTopConstraint.constant = -relativeYOffset
}
extension UIScrollView {
var maxContentOffset: CGPoint {
.init(x: contentSize.width - bounds.width + contentInset.right,
y: contentSize.height - bounds.height + contentInset.bottom)
}
Что я делаю не так?