Я хочу реализовать пользовательское, многократно используемое и эффективное поведение прокрутки в приложении для iPhone, поэтому я расширяю UIScrollView с помощью своего пользовательского элемента управления и хочу отслеживать движения прокрутки.
Теперь я знаю, что, возможно, я могу назначить свой пользовательский элемент управления как UIScrollViewDelegate и внутренне отвечать на вызовы scrollViewDidScroll , но мне это не кажется правильным (я могу неправильно).
Неправильно, так как делегат нацелен на логику пользовательского интерфейса приложения, и элементы управления должны быть выше этого уровня. Это также означало бы, что мне нужно было бы ретранслировать делегатские вызовы, если бы класс приложения также назначался делегатом, что кажется неэффективным.
Как прямой потомок UIScrollView Я ожидаю, что смогу переопределить метод, который запускает вызов делегата scrollViewDidScroll , или получить доступ к шаблонному методу, или прослушать для событий прокрутки, но я не вижу таких вариантов.
Глядя на файл UITableView.h , UITableView не выглядит как UISCrollViewDelegate , поэтому мне интересно, как это удается ( Я предполагаю, что, поскольку он перерабатывает ячейки, он должен отслеживать их положение относительно видимых границ).
Я довольно новичок в этой платформе, поэтому я могу упустить что-то очевидное. Любая помощь приветствуется.