ios swift uiimageview uibutton

ios - ¿Cómo hacer que UIButton sea un círculo?



swift uiimageview (3)

Está el código de trabajo. Lo pruebo. Espero eso ayude. No estoy seguro por qué pero compruebo que al cambiar la altura y el ancho del marco aquí "CGRectMake (50, 8, 120, 120)" que la altura y el ancho del marco y la altura y el ancho de un botón deben ser iguales a obtener el círculo perfecto.

cell.StoryViewButton.setImage(image, forState: .Normal) cell.StoryViewButton.frame = CGRectMake(50, 8, 120, 120) cell.StoryViewButton.layer.cornerRadius = self.btn.frame.width/2; cell.StoryViewButton.layer.masksToBounds = true

Espero eso ayude.

He intentado hacer del UIButton en las celdas un círculo perfecto. Lamentablemente, el círculo se ha formado en función de la imagen de fondo en lugar del marco UIButton.

El código que tengo para crear un círculo:

cell.StoryViewButton.setImage(image, forState: .Normal) cell.StoryViewButton.frame = CGRectMake(50, 8, 100, 100) cell.StoryViewButton.layer.masksToBounds = false cell.StoryViewButton.layer.cornerRadius = cell.StoryViewButton.frame.width/2 cell.StoryViewButton.clipsToBounds = true

La salida se ve así:

¿Qué puedo hacer para obtener los marcos de botones de círculo perfecto que quiero?


Pruebe algo como esto

cell.StoryViewButton.layer.masksToBounds = true cell.StoryViewButton.layer.cornerRadius = cell.StoryViewButton.frame.width/2

Si necesita crear un círculo de vista, debe establecer masksToBounds en verdadero, no configure clipsToBounds

Espero que esto te ayudará.


Swift 4

Puede aplicar la siguiente función a cualquier vista, incluidos los botones.

func makeViewCircular(view: UIView) { view.layer.cornerRadius = view.bounds.size.width / 2.0 view.clipsToBounds = true }

Estupendo.

Eso no funcionó para mí al principio ya que lo apliqué en el viewDidLoad, sin embargo. En este punto, las restricciones siguen jugando con el tamaño de los botones y el radio de la esquina se aplica a un botón que cree que tiene el doble de tamaño, lo que da como resultado las formas extrañas que tiene. Para aplicar los valores correctos a las medidas correctas, coloque el código en la override func viewDidLayoutSubviews() .

Sé que este puede ser un caso más específico dentro de mi proceso personal, pero estoy seguro de que ayudará a alguien.