2012-05-03 4 views
2

Я пытаюсь поддерживать бесконечный прокрутки в виде таблицы. Я знаю, что tableview позволяет прокручивать бесконечно, но мой случай отличается.бесконечный прокрутка в таблице с использованием нижнего колонтитула

Первоначально, я загружу 30 элементов в моем представлении таблицы, когда пользователь прокрутит список до 30-го элемента, я сделаю http-запрос, чтобы получить следующие 30 элементов, поэтому его не так, как будто я загружаю 60 предметов одновременно.

Мой путь к тому, чтобы сделать это, когда мой стол заново заполнен 30 элементами, после просмотра footerview, я попрошу следующие 30 предметов.

Мой вопрос - как обнаружить footerview? Есть что-то вроде «появится» только для просмотра?

Позвольте мне знать, если есть другой способ лучше завершить свой сценарий выше

Спасибо !!

+0

https://github.com/i-schuetz/tableview_infinite – Ixx

ответ

5

A UITableView является подклассом UIScrollView, а UITableViewDelegate соответствует UIScrollViewDelegate.

Таким образом, вы можете установить себя как tableViewDelegate и реализовать scrollViewDidScroll:. Затем вы можете либо проверить scrollView.contentOffset, либо позвонить по телефону [myTableView visibleCells]. Я уверен, что есть и другие методы.

+0

+1 для точного решения по заданной задаче – Till

1

Поведение, которое вы пытаетесь реализовать, известно как pull-to-refresh.

Есть несколько реализация этого уже имеется, например .:

  1. https://github.com/leah/PullToRefresh

  2. https://github.com/enormego/EGOTableViewPullRefresh

Дайте ему попробовать, или прочитать код узнать подробности. Если вам интересно, то, как это делается, - это реализовать методы делегата для просмотра прокрутки и проверить значение scrollView.contentOffset.y.

+2

Если я правильно его понял, он хочет реализовать точную противоположность pull-to-refresh. Хотя технически они похожи, конечно. – fzwo

+0

@fzwo: Ну, вы правы, но это просто вопрос изменения значения смещения в коде (y> что-то вместо y sergio