2016-01-13 2 views
1

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

Для изменения размеров ячеек в зависимости от изображения.

Когда я запускаю мое приложение, хотя, я получаю это: [! [Введите описание изображения здесь] [1]]

И образы не загружаются до тех пор пока я начинаю прокрутке ... Если я прокрутить половину страницы затем вернуться к началу, я получаю это: Что является правильным

[2]

Любые идеи [[введите описание изображения здесь] [2]]? Я исследовал Google и пробовал странное решение для более старых версий Xcode, но ничего не работает!

ответ

1

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

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

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

Обратите внимание, что вы не обновляете ячейку при загрузке изображения. Когда вы это делаете, вам нужно проверить, что ячейка не была повторно использована (или вы будете показывать неправильное изображение). Если у вас нет заполнителя или вы не можете гарантировать размер изображения, вам также нужно будет спросить, как выглядит табличное представление.

+1

Возможно, у вас уже есть обратный вызов, сделанный 'self.image.value = image', похоже на использование реактивного набора ... Итак, вы принимаете то, что у вас есть, или добавляете образы заполнителя (или предварительно загружаете все изображения) , – Wain

+1

Я могу предварительно загрузить некоторые. большинство приложений не используют и вместо этого используют местозаполнитель или просто оставляют пустое пространство – Wain

+1

, когда вы устанавливаете сообщение и настраиваете ячейку – Wain

0

Возможно, ваши post.downloadImage() и post.fetchLikes() должны иметь обратный вызов и в обратном вызове должны перезагрузить ячейку в mainThread. надеюсь, что это поможет.

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