一种方法是将按钮从ScrollView中取出并更新它在scrollViewDidScroll
事件中的位置。您可以通过扩展UIScrollViewDelegate
(或UITableViewDelegate
,UICollectionViewDelegate
和UITableViews
的UICollectionViews
)来实现此事件
例:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let yOffset = scrollView.contentOffset.y
let newPossition = max(scrollableButtonTopConstraint.constant - yOffset, self.minimumPosition)
self.scrollableButtonTopConstraint.constant = newPossition
}
在这里,minimumPosition
是一个常数,阻止按钮高于它应该的高度。您应该将其设置为适合您情况的值。另外,不要忘记在scrollview上设置委托并为scrollableButtonTopConstraint
创建一个插座。