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 = trueGeometria: 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 pivotPropriedades 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.cgColorSombras
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 = 6Sublayers
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.cgColorLayers 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.scaleAs 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
- Fundamentos de CALayer
- Animações Implícitas e Explícitas
- Transformações e Efeitos 3D
- Desenho Personalizado com Core Graphics