Color

Color SwiftUI

Color no SwiftUI é a representação de uma cor que se adapta a um determinado contexto, que pode ser usada de diversas maneiras para aprimorar a interface do seu aplicativo.

Color em modificadores

Color é bastante utilizada para alterar cores dos componentes de interface por meio de modificadores. Por exemplo, para alterar a cor de um Text você pode utilizar o modificador .foregroundColor() :

Note que existem várias opções de cores básicas predefinidas pelo próprio SwiftUI que você pode usar. Para mais informações sobre as cores predefinidas confira este link:

Color - Visual Design - iOS - Human Interface Guidelines - Apple Developer

Dica: O modificador .foregroundColor(_ Color:) espera um argumento do tipo Color, então não há necessidade explicitar Color. quando for chamar o modificador, nesse caso você pode usar uma forma resumida de descrever uma das cores padrão que terá o mesmo do exemplo acima.

Color como View

O SwiftUI trata as cores como instâncias de View, por tanto você pode adicioná-las diretamente a uma hierarquia de visualização. Por exemplo, você pode definir a cor do background do Text:

Isso é possível pois um dos inicializadores do modificador .background() espera um argumento do tipo View.

Color customizada

Existe algumas maneiras de usar cores customizadas no SwiftUI:

  • Utilizando valores RGB:
  • Adicionando cores no Assets do seu projeto:

    • Para isso, clique no botão + no canto inferior esquerdo de Assets.xcassets e selecione a opção “Color Set”.
    • Após isso um novo bloco de cor aparecerá, você pode editar as propriedades da cor no ”Attributes inspector”.

Tema escuro e claro

Por padrão, seu novo conjunto de cor será utilizada para o tema claro e escuro. Para definir um conjunto de cor diferente para o tema claro e outra para o tema escuro, selecione a opção “Any, Dark” no menu “Appearances”, após isso um novo bloco de cor aparecerá, feito isso é só editar a cor desejada para cada tema.

Agora para utilizar a nova cor criada, basta inicializar Color com o nome definido no Assets.

Anterior
Anterior

Stack

Próximo
Próximo

Text | Font