Group

Group SwiftUI

Um Group cria uma coleção de várias instâncias de conteúdo, e trata-os como uma única unidade.

Você pode utilizar um Group para agrupar várias views em uma única instância sem afetar o layout das mesmas, ao contrário de uma HStack ou VStack.

Criando um Group

Para criar um Group, basta adicioná-lo da seguinte forma:


Após criar um Group, qualquer modificador aplicado ao grupo afetará todas as views dentro. Por exemplo, no código a seguir aplicamos os modificadores .font, .padding e .border ao Group, e você pode ver que todas as views foram afetadas:

Agrupando Views

Em SwiftUI, por razões técnicas, existe uma limitação de no máximo 10 views para cada view parente. Felizmente, podemos utilizar o Group para colocar mais de 10 elementos em cada parente, como segue o exemplo:

No exemplo acima, a VStack, que é a nossa view parente, não sofre da limitação de 10 itens por view pois possuímos apenas duas views: o Group, que é tratado como uma única view, e um Text.

Usando Group como Container

Como visto anteriormente, um Group atua como um container transparente de itens. Isso nos possibilita criar uma série de views dentro de um Group e apresentar este grupo em diferentes tipos de stacks para obter comportamentos customizados.

Como no exemplo a seguir, nós criamos um @State que definirá se um grupo de views será exibido na vertical ou na horizontal, alterando a stack na qual o grupo é instanciado. Quando tocamos em cima do grupo, é possível observar a mudança na exibição:

Anterior
Anterior

List

Próximo
Próximo

Popover