0Pricing
Swift Academy · Aula

Fundamentos de CALayer

Trabalhe com camadas, suas propriedades e hierarquia.

Fundamentos de CALayer é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

O que é uma CALayer

CALayer é a estrutura de suporte de tudo o que você vê no UIKit. Cada UIView é desenhada por uma layer que mantém seu conteúdo visual como uma textura na GPU.

Trabalhar diretamente com layers permite aproveitar gráficos e animações acelerados por hardware.

import UIKit
let layer = CALayer()

As layers por trás das visualizações

Toda visualização tem uma propriedade layer. Definir propriedades de uma layer costuma ser mais simples e barato que fazer desenho personalizado.

view.layer.cornerRadius = 12
view.layer.masksToBounds = true

Geometria: quadro, limites e posição

Uma layer tem bounds, seu próprio espaço de coordenadas, position, que indica onde sua âncora fica no pai, e um frame derivado. Editar qualquer um deles atualiza os outros.

let layer = CALayer()
layer.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
layer.position = CGPoint(x: 150, y: 150)

O ponto de ancoragem

anchorPoint, com padrão 0.5, 0.5, o centro, define a origem da layer para posicionamento e transformações. Rotações e escalas giram em torno dele.

layer.anchorPoint = CGPoint(x: 0, y: 0) // top-left pivot

Propriedades visuais

As layers expõem diretamente os estilos visuais: backgroundColor, um CGColor, cornerRadius, borderWidth, borderColor e opacity.

layer.backgroundColor = UIColor.systemBlue.cgColor
layer.cornerRadius = 8
layer.borderWidth = 2
layer.borderColor = UIColor.white.cgColor

Sombras

As layers desenham sombras com shadowColor, shadowOpacity, shadowOffset e shadowRadius. Defina um shadowPath para obter mais desempenho.

layer.shadowColor = UIColor.black.cgColor
layer.shadowOpacity = 0.3
layer.shadowOffset = CGSize(width: 0, height: 4)
layer.shadowRadius = 6

Sublayers

As layers formam uma árvore. Adicione filhas com addSublayer; elas são posicionadas no espaço de coordenadas do pai.

let parent = CALayer()
let child = CALayer()
child.frame = CGRect(x: 10, y: 10, width: 40, height: 40)
parent.addSublayer(child)

Tipos especializados de layer

O UIKit fornece subclasses de layer: CAShapeLayer, para caminhos vetoriais; CAGradientLayer, para gradientes; CATextLayer, para texto; e CAReplicatorLayer, para filhas duplicadas.

let shape = CAShapeLayer()
shape.path = UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 50, height: 50)).cgPath
shape.fillColor = UIColor.systemRed.cgColor

Layers de gradiente

CAGradientLayer renderiza transições suaves de cores definidas por colors, locations, startPoint e endPoint.

let gradient = CAGradientLayer()
gradient.colors = [UIColor.systemBlue.cgColor, UIColor.systemPurple.cgColor]
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 1)

Escala do conteúdo e nitidez

Defina contentsScale de acordo com a escala da tela para que o conteúdo desenhado pela layer fique nítido em telas Retina. Esquecer isso produz texto e formas borrados.

layer.contentsScale = UIScreen.main.scale

As layers são leves

As layers não processam eventos de toque nem o Auto Layout; são objetos puramente visuais. Por isso, são mais baratas que as visualizações para conteúdos decorativos ou animados.

Verificação rápida: CALayer

Teste sua compreensão dos fundamentos de CALayer.

Recapitulação: fundamentos de CALayer

CALayer dá suporte a toda visualização do UIKit e oferece recursos visuais acelerados pela GPU: geometria de bounds/position/anchorPoint, estilos, como raio de canto, bordas e sombras, e uma árvore de sublayers.

Subclasses especializadas lidam com formas, gradientes, texto e replicação. Defina contentsScale para obter nitidez e lembre-se de que as layers são objetos visuais leves, sem eventos de toque nem Auto Layout. Essa base dá suporte às animações que virão.

Perguntas Frequentes

A aula “Fundamentos de CALayer” é grátis?

Sim — o texto completo de “Fundamentos de CALayer” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Fundamentos de CALayer”?

Trabalhe com camadas, suas propriedades e hierarquia. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fundamentos de CALayer”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de CALayer
  2. Animações Implícitas e Explícitas
  3. Transformações e Efeitos 3D
  4. Desenho Personalizado com Core Graphics
← Voltar para Swift Academy