Почему UIImageView не округляется до прокрутки?

Мой UIImageView не округляется при прокрутке или перезагрузке представления коллекции (collectionView.reloadData()).

Вот как это выглядит:

  • Без округления

введите здесь описание изображения

  • С округлением

введите здесь описание изображения

Ячейка имеет несколько представлений изображений, и все они ограничены ограничениями facesContainer UIView.

Я попытался реализовать этот код внутри collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) :

cell.facesContainer.layer.cornerRadius = (cell.facesContainer.layer.frame.width/2)
cell.facesGroupImageView.layer.cornerRadius = (cell.facesGroupImageView.layer.frame.width/2)
cell.facesGroupImageView.layer.masksToBounds = true
cell.facesGroupImageView.layer.borderColor = UIColor.black.cgColor
cell.facesGroupImageView.layer.borderWidth = 0.5

Кроме того, я попытался добавить приведенный выше фрагмент кода в пользовательский класс ячеек в методе awakeFromNib(), но он не работает.

Почему это не работает? как это исправить?


person Anas Almomany    schedule 03.08.2017    source источник
comment
вы пробовали это в методе willdisplaycell   -  person Shobhakar Tiwari    schedule 03.08.2017
comment
Ограничений нет в awakeFromNib.   -  person Tamás Sengel    schedule 03.08.2017
comment
Взгляните на этот пост - объяснение и решение: stackoverflow.com/questions/32362934/   -  person DonMag    schedule 03.08.2017


Ответы (2)


Я думаю, вы должны поместить свои коды внутри этого:

DispatchQueue.main.async {
   // your view configurations
}
person Ahmadreza    schedule 26.06.2019

Установка радиуса в viewWillLayoutSubviews решит проблему.

override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() profileImageView.layer.cornerRadius = profileImageView.frame.height / 2.0 }

person Sajid Zeb    schedule 03.08.2017