Как использовать UIScrollViewDelegate в Custom CollectionView? - PullRequest
0 голосов
/ 04 марта 2020

Я создаю пользовательский вид коллекции для своего приложения.
Я хочу вызвать метод scrollViewWillEndDragging при прокрутке CustomCollectionView на ViewController.

Когда он рисовал CustomCollectionView на экране, вызывался CommonInit но scrollViewWillEndDragging не вызывалось, когда я прокручивал его.

Как я могу это назвать?

Вот мой код.

в CustomView

class CustomView: UICollectionView {

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        commonInit()
    }

    func commonInit() {
    …
   }
}

extension CustomView: UIScrollViewDelegate {

// want to call this method
    func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
    {
}

в AViewController

class AViewController: UIViewController {
    @IBOutlet weak var collectionView: CustomView!
    …
    override func viewDidLoad() {
    …
    collectionView.register(UINib(nibName: "Cell", bundle: nil), forCellWithReuseIdentifier: "Cell")
    …
    }
}

1 Ответ

1 голос
/ 04 марта 2020

Вы должны установить делегат collectionView. Вы можете сделать это в вашем CustomView в commonInit как:

delegate = self

Редактировать

И вам следует изменить UIScrollViewDelegate UICollectionViewDelegate, UICollectionViewDelegate наследуются от UIScrollViewDelegate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...