アプリケーションで scrollViewDidScroll デリゲートを使用しています。
しかし、多くの場合、スクロールを開始しなくても、このデリゲートが呼び出され、多くの問題が発生します。特定のスクロール ビューの contentSize が設定されている場合でも、その時点でこのデリゲートも呼び出されると聞きましたscrollViewDidScroll。
このデリゲートが呼び出されるさまざまなシナリオは何ですか。これを制御する手順は何ですか?
これを処理するパラメータを設定できますか?
アプリケーションで scrollViewDidScroll デリゲートを使用しています。
しかし、多くの場合、スクロールを開始しなくても、このデリゲートが呼び出され、多くの問題が発生します。特定のスクロール ビューの contentSize が設定されている場合でも、その時点でこのデリゲートも呼び出されると聞きましたscrollViewDidScroll。
このデリゲートが呼び出されるさまざまなシナリオは何ですか。これを制御する手順は何ですか?
これを処理するパラメータを設定できますか?
scrollDidScroll:ビューが読み込まれて調整されたときに自動的に起動するのを防ぐためにUIScrollView delegate、すべてのビューがviewDidLayoutSubviews. それは私にとってうまくいっています。
- (void)viewDidLayoutSubviews {
// add table view delegate after the views have been laid out to prevent scrollViewDidScroll
// from firing automaticly when the view is adjusted on load, which makes the tab bar disappear
self.tableView.delegate = self;
}
scrollViewDidScroll:スクロール境界が変更されるたびに呼び出されます。これは、スクロール中および開始時に呼び出されることを意味します。代わりに、scrollViewWillBeginDragging:を試してみてください。
このメソッドで UICollectionView、UITableView デリゲートを設定します
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// This method is called only after all subviews are laid
}