#ios #swift #uicollectionview #constraints #uicollectionviewcell
#iOS #swift #uicollectionview #ограничения #uicollectionviewcell
Вопрос:
Я хотел бы получить некоторую помощь, пожалуйста.
У меня есть UICollectionViewCell для сценария адаптации, каждая ячейка содержит одно изображение с разными размерами, которые устанавливаются динамически.
Я использую WWLayout, аналогичный SnapKit, для обработки ограничений.
Проблема в том, что когда я прокручиваю и ячейка используется повторно, ограничения нарушаются, и изображение теряет свои начальные размеры.
Я прикрепил тестовое приложение.
https://www.dropbox.com/s/tx141lpr0uzlhbx/Test App.Image .Resize.zip?dl= 0
Спасибо.
Ответ №1:
В OnBoardingItemView.swift
функции layoutUI()
, непосредственно перед макетом imageView
, попробуйте добавить эту строку:
imageView.removeConstraints(imageView.constraints)
Комментарии:
1. Конечно, я полностью забыл также удалить ограничения. В итоге я добавил ImageView.removeConstraints() внутри prepareForReuse(), большое вам спасибо 😊
Ответ №2:
Изображение не масштабировалось должным образом. Обновите свой код этим, чтобы предотвратить растяжение изображения.
private lazy var imageView: UIImageView = {
let imageView = UIImageView()
imageView.contentMode = .scaleAspectFit
return imageView
}()
Эта переменная находится в OnBoardingItemView.swift, строка 35