Sobes.tech
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.