I use UIScrollViewDelegate to listen for the scrollViewDidScroll delegate functions are called. As written below:
class PViewController: UIViewController, UIScrollViewDelegate { override func viewDidLoad() { super.viewDidLoad() scrollView.delegate = self } func scrollViewDidScroll(_ scrollView: UIScrollView) { print(scrollView.contentOffset.y) } } But when I create a custom class, functions are not called.
class ScrollViewDelegateTop: NSObject, UIScrollViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { print(scrollView.contentOffset.y) } } class PViewController: UIViewController, UIScrollViewDelegate { override func viewDidLoad() { super.viewDidLoad() scrollView.delegate = ScrollViewDelegateTop() } }