Странное поведение UITableViewCellStyleSubtitle + [cell imageView]
Этот вопрос беспокоил меня в течение месяца, и я сопротивлялся публикации об этом, но я не могу больше выдерживать. Вот что происходит:
У меня есть приложение с UITableViewCell
s, все инициализировано как UITableViewCellStyleDefault
, Для каждого я устанавливаю изображение представления изображения, используя отличный пакет SDWebImage, который расширяет UIImageView, чтобы иметь метод для [UIImageView setImageWithURL:(NSURL*)url placeholderImage:(UIImage*)image].
Проблема состоит в том, что изображения в таблице выглядят более узкими, чем они должны быть, но по какой-то причине выбор строки делает ее правильным размером. Так же, как и прокрутка строки с экрана, затем с экрана, затем с экрана.
Какой метод я должен использовать, чтобы заставить клетки перерисовать? Я нашел несколько противоречивых идей, и ни одна из них не сработала до сих пор. Я чувствую, что есть простой вызов UITableView к UITableViewCell, который я пропускаю. Кроме того, где я могу поставить этот вызов? Я пробовал звонки в cellForRowAtIndexPath
а также willDisplayCell
,
Спасибо за вашу помощь!
SDWebImage: https://github.com/rs/SDWebImage
2 ответа
Я решил проблему - я должен был просто сделать мой SDWebImage
заполнитель изображения с тем же соотношением сторон, что и изображения, которые я пытаюсь загрузить. Поскольку мой сервер заставляет все мои изображения иметь размеры 95x95, это было относительно легко исправить; Я просто обновил свой placeholder.png
также будет 95x95 (вместо какого-то странного измерения, например 92x132)
[[cell imageView] setContentMode:UIViewContentModeScaleAspectFit];
эта строка заставляет изображение просмотра показывать изображение в его исходном разрешении, но в соответствии с размером изображения.
главный недостаток в том, что если у вас есть изображения разных размеров, то каждое изображение будет иметь разные размеры.... это не должно выглядеть хорошо...