我建議使用具有內置的水平滾動支持,而不是一個自定義TableView中一的CollectionView。
對於「浮動作按鈕」我建議創建一個具有一個標籤,告訴用戶釋放加載在用戶到達滾動視圖月底在更多的項目和移動一個單獨的視圖。在以下示例中,加載更多視圖的寬度爲100px,並建議用戶在拖動視圖85px後釋放他的手指。
夫特3
@IBOutlet fileprivate weak var loadMoreView: UIView!
@IBOutlet fileprivate weak var loadMoreLabel: UILabel!
@IBOutlet fileprivate weak var loadMoreConstraint: NSLayoutConstraint!
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.x + scrollView.frame.size.width > scrollView.contentSize.width {
loadMoreView.isHidden = false
loadMoreLabel.text = "Load more"
if (scrollView.contentOffset.x + scrollView.frame.size.width) - scrollView.contentSize.width > 85 {
loadMoreLabel.text = "Release"
}
if (scrollView.contentOffset.x + scrollView.frame.size.width) - scrollView.contentSize.width < 100 {
loadMoreConstraint.constant = 100 - ((scrollView.contentOffset.x + scrollView.frame.size.width) - scrollView.contentSize.width)
}
} else {
loadMoreView.isHidden = true
loadMoreConstraint.constant = 100
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if scrollView.contentOffset.x + scrollView.frame.size.width > scrollView.contentSize.width {
if (scrollView.contentOffset.x + scrollView.frame.size.width) - scrollView.contentSize.width > 85 {
// TODO: <Load more logic here>
}
}
}
負載更視圖具有以下限制,這裏的「對齊尾隨」約束與loadMoreConstraint IBOutlet中在上面的代碼聯繫起來。
![enter image description here](https://i.stack.imgur.com/WbABo.png)
我沒有鎖定scrollView部件。謝謝。只有動作按鈕按下功能沒有完成。我無法重新加載點擊浮動按鈕上的數據......而是刷新數據 –