2016-10-04 2 views
0

Это технический вопрос, или о передовой практике ...Tableview гладкой прокрутка передовая практика стремительной

У меня есть это приложение, его социальная сеть, где у нас есть график. В этой шкале я должен вынести много клеток на Tableview, которые я сделал так:

  • создать ячейку (с заголовка, тела и нижнего колонтитула) -xib файл
  • в этой клетке у меня есть Метод: setupCell() - который настраивает содержимое
  • для каждого типа сообщения. Я создаю корректный вид (xib) в теле этой ячейки (например, PhotoPost, TextPost или VideoPost и т. д.) и настраивает ограничение для установки размера просмотров.
  • Кроме того, я использую:

    tableView.estimatedRowHeight = 603 
    
        tableView.rowHeight = UITableViewAutomaticDimension 
    
  • И зимородка для загрузки изображения асинхронно.

И, что лучше всего: раскадровка, xib или код?

Итак, моя проблема в том, что мой прокрутка отстает - я использую многократные ячейки, но каждый раз, когда делегат tableview вызывает cellForRow, мне нужно setupCell().

Моя первая идея: Я получаю массив сообщений с заданием, затем создаю ячейки для каждого сообщения и добавляю их в массив ячеек, поэтому, когда вызываются cellForRow, я просто получаю правильную ячейку из этого массива .. Это сделать лучше. Но все равно недостаточно (я тестирую iPhone 5c). . Моя следующая идеация создает разные ячейки для каждого типа сообщений и сохраняет переменную для этой ячейки его размера для установки по методу HeighForCell. Вы думаете, что выглядит хорошим решением? Может ли кто-нибудь дать мне мнение и предложение? Я очень осторожен заранее.

ответ

0

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

http://asyncdisplaykit.org

Это полный SDK и хорошо написана документация так легко реализовать. Я бы рекомендовал его, если вы боретесь с подобной проблемой для меня.

+0

Мне немного любопытно, какова точка вашего вопроса? Вы попросили его немедленно ответить на него сами. –

+0

@JacobKing, не на самом деле .. Я совершенно новый, используя стек (для вопросов и ответов). Но я задал этот вопрос около месяца назад. И мое лучшее решение было использовать AsyncDisplay. Должен ли я что-то редактировать? пожалуйста, сообщите мне. – Gehlen

+0

Я могу сказать, что вы новичок, не волнуйтесь, что вы не делаете ничего плохого! На самом деле это была ошибка с моей стороны, я неправильно понял дату вопроса и за это прошу прощения. Тем не менее, я представил редактирование для вашего ответа, которое немного уточняет, что вы сказали, а также давая понять, что именно здесь вы оказались после того, как попробовали разные вещи. –

Смежные вопросы