Загрузка ячеек по запросу в UITableView в UIScrollView - PullRequest
4 голосов
/ 23 февраля 2012

У меня есть UITableView внутри UIScrollView.

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

Проблема теперь в том, что, поскольку я больше не использую прокрутку самого UITableView (он имеет достаточно большой размер, чтобы отобразить все его ячейки, а затем помещен в представление прокрутки), я теряю загрузку ячеек по требованию. Это приводит к неприемлемой производительности, когда в моем табличном представлении больше нескольких ячеек.

Каков наилучший способ настроить что-то подобное без потери динамической загрузки ячеек?

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

Ответы [ 2 ]

0 голосов
/ 09 марта 2017

OLEContainerScrollView представляется решением.

Что позволяет вам добавить несколько UIScrollView (UITableView, UICollectionView) в него, в то же время сохранить механизм повторного использования ячеек работающим на внутреннем UITableView, UICollectionView.

0 голосов
/ 23 февраля 2012

Пока ваш tableView находится внутри scrollView, у вас будет эта проблема, так как весь tableView должен быть отрисован, и, следовательно, все ячейки должны быть выделены.

Я предлагаю добавить представление в качестве заголовка к вашему tableView, используя – tableView:viewForHeaderInSection: и – tableView:heightForHeaderInSection: в вашем UITableViewDelegate.

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

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