。私は、ユーザーがscrollViewの終わりに到達したときに多くの項目および移動をロードするために解放するために、ユーザに指示ラベルを持つ別のビューを作成することをお勧めし「フローティング操作ボタン」の場合
。次の例では、より多くのビューをロードすると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と連結されている以下の制約を有しています。
私はscrollView部分をロックしました。ありがとうございました。アクション・ボタン・プレス機能のみが実行されません。フローティングボタンをクリックしてデータをリロードすることができません...代わりにデータがリフレッシュされます –