Programación en Swift y SwiftUI para iOS Developers

Combinando shapes en SwiftUI

Todas las formas o shapes de SwiftUI se pueden consolidar de diferentes maneras para crear nuevas formas, incluida la asociación (un distrito relleno que combina las dos formas), el punto de cruce (un lugar relleno que contiene áreas normales en las dos formas), la convergencia de líneas (devuelve la línea de una forma cubre el relleno de otra), y el cielo es el límite a partir de ahí.

Por ejemplo, esto combina un círculo con una cápsula insertada en 150, luego llena el resultado de color azul:

                Circle()
                .union(.capsule.inset(by: 150))
                .fill(.red)

Usamos el método de instancia union que devuelve una nueva forma con regiones rellenas en esta forma o en la forma dada.

La ventaja de tener una sola forma es que el resultado se mezcla bien cuando agregas niebla: no estás generando dos formas de cobertura por separado, sino consolidándolas a ambas en una sola forma y logrando eso.

Básicamente, podríamos utilizar lineSubtraction() para eliminar la forma de un cuadrado de un círculo y luego, en ese punto, trazar el resto de un límite ajustado:

Circle()
                .lineSubtraction(.rect.inset(by: 20))
                .stroke(style: .init(lineWidth: 30, lineCap: .round))
                .padding()

O, por otro lado, podríamos colocar un círculo hacia la izquierda y luego restar un círculo más hacia la derecha:

  Circle()
                .offset(x: -10)
                .symmetricDifference(.circle.offset(x: 10))
                .fill(.red)
                .padding()

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Article

Shapes en SwiftUI

Next Article

SwiftUI Timer

Related Posts