Junior
Em que ordem as visualizações empilhadas (subviews) são adicionadas ao chamar o método addSubview?
sobes.tech IA
Resposta da IA
As vistas são adicionadas sobre todas as vistas filhas existentes na mesma ordem em que addSubview foi chamado. Assim, a última vista adicionada será a mais superior na hierarquia de vistas filhas deste UIView.
Visualmente, isso significa que a última vista adicionada irá sobrepor as anteriores se seus quadros se cruzarem.
Exemplo de adição de vistas:
// Criar vista pai
let parentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
parentView.backgroundColor = .lightGray
// Criar primeira vista
let firstView = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
firstView.backgroundColor = .red
// Criar segunda vista
let secondView = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
secondView.backgroundColor = .blue
// Adicionar a primeira vista. Ela será a primeira em subviews
parentView.addSubview(firstView)
// Adicionar a segunda vista. Ela será a segunda em subviews e estará acima da primeira
parentView.addSubview(secondView)
// Agora, parentView.subviews conterá [firstView, secondView]
A ordem no array subviews da vista pai reflete a ordem de empilhamento no eixo Z. O primeiro elemento do array está na parte inferior, o último na parte superior.