Это технический вопрос, или о передовой практике ...Tableview гладкой прокрутка передовая практика стремительной
У меня есть это приложение, его социальная сеть, где у нас есть график. В этой шкале я должен вынести много клеток на Tableview, которые я сделал так:
- создать ячейку (с заголовка, тела и нижнего колонтитула) -xib файл
- в этой клетке у меня есть Метод: setupCell() - который настраивает содержимое
- для каждого типа сообщения. Я создаю корректный вид (xib) в теле этой ячейки (например, PhotoPost, TextPost или VideoPost и т. д.) и настраивает ограничение для установки размера просмотров.
Кроме того, я использую:
tableView.estimatedRowHeight = 603 tableView.rowHeight = UITableViewAutomaticDimension
- И зимородка для загрузки изображения асинхронно.
И, что лучше всего: раскадровка, xib или код?
Итак, моя проблема в том, что мой прокрутка отстает - я использую многократные ячейки, но каждый раз, когда делегат tableview вызывает cellForRow, мне нужно setupCell().
Моя первая идея: Я получаю массив сообщений с заданием, затем создаю ячейки для каждого сообщения и добавляю их в массив ячеек, поэтому, когда вызываются cellForRow, я просто получаю правильную ячейку из этого массива .. Это сделать лучше. Но все равно недостаточно (я тестирую iPhone 5c). . Моя следующая идеация создает разные ячейки для каждого типа сообщений и сохраняет переменную для этой ячейки его размера для установки по методу HeighForCell. Вы думаете, что выглядит хорошим решением? Может ли кто-нибудь дать мне мнение и предложение? Я очень осторожен заранее.
Мне немного любопытно, какова точка вашего вопроса? Вы попросили его немедленно ответить на него сами. –
@JacobKing, не на самом деле .. Я совершенно новый, используя стек (для вопросов и ответов). Но я задал этот вопрос около месяца назад. И мое лучшее решение было использовать AsyncDisplay. Должен ли я что-то редактировать? пожалуйста, сообщите мне. – Gehlen
Я могу сказать, что вы новичок, не волнуйтесь, что вы не делаете ничего плохого! На самом деле это была ошибка с моей стороны, я неправильно понял дату вопроса и за это прошу прощения. Тем не менее, я представил редактирование для вашего ответа, которое немного уточняет, что вы сказали, а также давая понять, что именно здесь вы оказались после того, как попробовали разные вещи. –