¿Cómo hacer líneas de borde dobles en el UIImage con Swift?

Dec 04 2020

He intentado buscar los trucos de "doble borde" en Swift para hacer esto. Tengo la sensación de que esto podría ser como una "doble frontera" en UIImage.

Avísame si conoces los códigos. :)

Respuestas

1 AJ16 Dec 04 2020 at 14:27

Puede simplemente tomar un UIView y agregar el UIImageView dentro de él. Borre el color de UIView para borrar.

Esto es lo que he hecho usando el guión gráfico.

  1. Se agregaron UIView y UIImageView en su interior, el color de la vista se establece en claro y la vista de la imagen está en 15 puntos desde todos los lados. Cambie según sus requisitos (consulte la imagen 1).

  2. Este es el código del controlador de vista (consulte la imagen 2).

  3. Salida (consulte la imagen 3).

Nota : Solo una idea básica, aunque puede cambiar el color y el ancho del borde, etc. según sus requisitos.

Diseño del guión gráfico

Ver el código del controlador

Producción

2 SumitJain Dec 04 2020 at 11:55

Debe agregar borderColor (negro) y cornerRadius a la capa predeterminada de UIImageView. Junto con esto, debe agregar otra subcapa en UIImageView con borderColor como gris.

imageView.layer.borderWidth = 4.0
imageView.layer.borderColor = UIColor.gray.cgColor
imageView.layer.cornerRadius = imageView.frame.width / 2

let borderLayer = CALayer()
borderLayer.frame = imageView.bounds
borderLayer.borderColor = UIColor.black.cgColor
borderLayer.borderWidth = 14.0
borderLayer.cornerRadius = borderLayer.frame.width / 2
imageView.layer.insertSublayer(borderLayer, above: imageView.layer)

Vea la demostración del patio de recreo adjunta.

PeterDu Dec 04 2020 at 11:09

Creo que puede agregar 1 círculo (UIView) como una subvista entre UIImageView y UIImage. Por ejemplo, puede inicializar UIImageView con el graycolor del cornerRadius exterior. Luego, agrega el círculo UIView y finalmente el UIImage.

O bien, la alternativa puede ser agregar UIImage antes del círculo UIView (con fondo transparente).

Creo que puede encontrar el código similar aquí: Vista de imagen Doble borde