Можно ли сделать UITable непрерывным? - PullRequest
4 голосов
/ 01 августа 2011

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

Пример:
, если это нормальноконфигурация:
- строка 1 -
- строка 2 -
- строка 3 -
- строка 4 -

Я бы хотел, чтобывыглядят так, как если бы это было:
...
- строка 3 -
- строка 4 -
- строка 1 -
- строка 2 -
- строка 3 -
- строка 4 -
- строка 1 -
- строка 2 -
...

Спасибо!

Ответы [ 4 ]

2 голосов
/ 01 августа 2011

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

1 голос
/ 01 августа 2011

В бета-версии iOS 5 есть API, который позволит вам сделать это.Так как это еще не было выпущено, это все, что я собираюсь сказать.Найдите его, а затем задайте вопросы по http://devforums.apple.com (или дождитесь выхода iOS 5 "этой осенью").

Другой вариант - сообщить об очень большом количестве строк (например,скажем, 100000) в вашем UITableView, а затем тихо отрегулируйте положение прокрутки в табличном представлении, когда оно прекращает прокрутку.([tableView scrollToRowAtIndexPath:anIndexPath animated:NO];) У вас могут быть проблемы с сохранением точного местоположения прокрутки, но вы также можете обойти это, возможно, используя setContentOffset:animated:?Я не совсем уверен;Я должен был бы попробовать это.

На практике, однако, это обычно работает.Например, вот так UIDatePicker достигает своей «бесконечной» прокрутки при отображении дат.Однако ограничения позиционирования строки на UIDatePicker отличаются от ограничений на UITableView, но принцип такой же ...

0 голосов
/ 01 августа 2011

проверьте этот вопрос: Как сделать бесконечный UITableView? . Однако все эти методы - только взломы, которые не будут работать вечно! Как всегда говорят, я боюсь, что вам придется начинать с нуля, возможно, просто распространяя UIViews, каждый из которых содержит ячейку, манипулируя их кадрами!

0 голосов
/ 01 августа 2011

Вы не можете сделать это на основе UITableView.

Табличное представление - это довольно инкапсулированный тип элемента, который взаимодействует с вашим кодом только в тех местах, где вы его конфигурируете (насколько это возможно) и где запрашивает данные для заполнения.

Таким образом, вместо того, чтобы давать ему все, что вы хотели бы показать, вам нужно подождать, пока он запросит у своего делегата данные, и даже тогда все, что у вас есть, - это возможность дать ему то, что ему нужно - ячейку для конкретное место в таблице.

Боюсь, вам придется делать это с нуля.

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