Cómo configurar la image en círculo en swift

¿Cómo puedo hacer una foto en círculo con rapidez?

Mi ViewController:

import UIKit import Foundation class FriendsViewController : UIViewController{ @IBOutlet weak var profilPicture: UIImageView! override func viewDidLoad() { super.viewDidLoad() profilPicture = UIImageView(frame: CGRectMake(0, 0, 100, 100)) } } 

Mi profilPicture = UIImageView(frame: CGRectMake(0, 0, 100, 100)) no hago nada …

Ejemplo: http://www.appcoda.com/ios-programming-circular-image-calayer/

 import UIKit class ViewController: UIViewController { @IBOutlet weak var image: UIImageView! override func viewDidLoad() { super.viewDidLoad() image.layer.borderWidth = 1 image.layer.masksToBounds = false image.layer.borderColor = UIColor.blackColor().CGColor image.layer.cornerRadius = image.frame.height/2 image.clipsToBounds = true } 

Eso es todo lo que necesitas …

Puedes crear una extensión simple:

 import UIKit extension UIImageView { func setRounded() { let radius = CGRectGetWidth(self.frame) / 2 self.layer.cornerRadius = radius self.layer.masksToBounds = true } } 

y utilícelo como a continuación:

 imageView.setRounded() 

No sé si esto ayuda a alguien pero estaba luchando con este problema por un time, ninguna de las respuestas en línea me ayudó. Para mí, el problema era que tenía diferentes alturas y anchos establecidos en la image en el guión gráfico. Probé todas las soluciones en la stack y resultó que era algo tan simple como eso. Una vez que los puse a ambos a 200 mi image de perfil de círculo fue perfecta. Este fue el código en mi VC.

 profileImage2.layer.cornerRadius = profileImage2.frame.size.width/2 profileImage2.clipsToBounds = true 

Si quieres decir que quieres hacer un UIImageView circular en Swift, puedes usar este código:

 imageView.layer.cornerRadius = imageView.frame.height / 2 imageView.clipsToBounds = true 

Basado en la respuesta de @DanielQ

Swift 3

 import UIKit extension UIImageView { func setRounded() { self.layer.cornerRadius = (self.frame.width / 2) //instead of let radius = CGRectGetWidth(self.frame) / 2 self.layer.masksToBounds = true } } 

Puede usarlo en cualquier ViewController con:

 imageView.setRounded() 

Primero debe configurar la anchura y la altura iguales para get Circular ImageView. A continuación, establezco ancho y alto como 100.100. Si desea establecer el ancho y alto de acuerdo con el tamaño requerido, establezca aquí.

  var imageCircle = UIImageView(frame: CGRectMake(0, 0, 100, 100)) 

Luego debe configurar la altura / 2 para el radio de la esquina

  imageCircle.layer.cornerRadius = imageCircle.frame.size.height/2 imageCircle.layer.borderWidth = 1 imageCircle.layer.borderColor = UIColor.blueColor().CGColor imageCircle.clipsToBounds = true self.view.addSubview(imageCircle) 

Si su image se networkingondea, tendría un alto y ancho del mismo tamaño (es decir, 120). Simplemente toma la mitad de ese número y usa eso en tu código (image.layer.cornerRadius = 60).

Todas las respuestas anteriores no pudieron resolver el problema en mi caso. Mi ImageView se colocó en un UITableViewCell personalizado. Por lo tanto, también layoutIfNeeded() llamar al método layoutIfNeeded() desde aquí. Ejemplo:

  class NameTableViewCell:UITableViewCell,UITextFieldDelegate { ... override func awakeFromNib() { self.layoutIfNeeded() profileImageView.layoutIfNeeded() profileImageView.isUserInteractionEnabled = true let square = profileImageView.frame.size.width < profileImageView.frame.height ? CGSize(width: profileImageView.frame.size.width, height: profileImageView.frame.size.width) : CGSize(width: profileImageView.frame.size.height, height: profileImageView.frame.size.height) profileImageView.addGestureRecognizer(tapGesture) profileImageView.layer.cornerRadius = square.width/2 profileImageView.clipsToBounds = true; } 

Descarga y usa Toucan desde GitHub. Se ofrece en Swift. Mente entumecedoramente fácil. También ofrece un montón de otros efectos de image.