Je suis en train de faire des images circulaires dans une cellule tableview, j'ai les différentes façons que j'ai vu sur stackoverflow mais est le plus proche, je suis devenu:créer images circulaires pour des images de cellules Tableview
Comme vous pouvez le voir, ils ressemblent plus à des elipses qu'à des cercles. Dans le storyboard j'ai les contraintes définies pour garder le rapport d'aspect 1: 1 et le mode d'affichage "remplissage d'aspect". J'utilise cette extension UIImage pour la forme circulaire:
extension UIImage {
var circleMask: UIImage {
let square = CGSize(width: min(size.width, size.height), height: min(size.width, size.height))
let imageView = UIImageView(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: square))
imageView.contentMode = UIViewContentMode.scaleAspectFill
imageView.image = self
imageView.layer.cornerRadius = square.width/2
imageView.layer.borderColor = UIColor.white.cgColor
imageView.layer.borderWidth = 5
imageView.layer.masksToBounds = true
UIGraphicsBeginImageContext(imageView.bounds.size)
imageView.layer.render(in: UIGraphicsGetCurrentContext()!)
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result!
}
}
Voici comment mon cellForRowAt indexPath ressemble:
let cell = detailTableView.dequeueReusableCell(withIdentifier: castResuseIdentifier)
as! CastCell
let cast = castArray[indexPath.row]
cell.actorName.text = cast.name
cell.characterName.text = cast.character
cell.actorProfileImage.image = castImageArray[indexPath.row].circleMask
self.detailTableView.rowHeight = 100
detailTableView.allowsSelection = true
return cell
Je ne sais pas pourquoi ils ne sont pas des cercles parfaits, une idée?
essayé, il est tout simplement ressembler à des carrés avec des bords arrondis – SwiftyJD
Désolé, je réalisai mon précédent commentaire n » était pas t droite donc je l'ai supprimé. BTW, avez-vous essayé ceci: http://stackoverflow.com/a/39515254/58129? –
Êtes-vous sûr que 'circleMask' n'est appelé que lorsque la mise en page est terminée? – Ssswift