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