Я использую UITableView и UICollectionView на одном контроллере представления.
Я хотел изменить способ прокрутки UICollectionView, поэтому я добавил функции scrollViewWillBeginDragging
и scrollViewWillEndDragging
внутри расширения.
Однако scrollViewWillBeginDragging
и scrollViewWillEndDragging
также влияют на UITableView, несмотря на то, что они не находятся в том же расширении.
Как это исправить?Есть ли способ выбрать только UICollectionView?
Вот краткая версия того, как выглядит мой код:
extension ViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
// This is where I put all of the UICollectionView code, including `scrollViewWillBeginDragging` and a `scrollViewWillEndDragging`
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
// Why is the code in here affecting the UITableView?
}
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
// Same as with `scrollViewWillBeginDragging`
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
// This is where I put all of the UITableView code, it's separate from the UICollectionView so why are `scrollViewWillBeginDragging` and `scrollViewWillEndDragging` affecting it?
}