Sobes.tech
Junior

V jakém pořadí jsou při volání metody addSubview přidávány vrstvy (subviews)?

sobes.tech AI

Odpověď od AI

Pohledy jsou přidávány nad všechny stávající podřízené pohledy ve stejném pořadí, v jakém bylo voláno addSubview. Tím pádem bude poslední přidaný pohled nejvyšší v hierarchii podřízených pohledů tohoto UIView.

Vizuálně to znamená, že poslední přidaný pohled překryje předchozí, pokud se jejich rámy překrývají.

Příklad přidávání pohledů:

// Vytvoření rodičovského pohledu
let parentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
parentView.backgroundColor = .lightGray

// Vytvoření prvního pohledu
let firstView = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
firstView.backgroundColor = .red

// Vytvoření druhého pohledu
let secondView = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
secondView.backgroundColor = .blue

// Přidání prvního pohledu. Bude první v subviews
parentView.addSubview(firstView)

// Přidání druhého pohledu. Bude druhý v subviews a bude nad prvním
parentView.addSubview(secondView)

// Nyní parentView.subviews bude obsahovat [firstView, secondView]

Pořadí v poli subviews rodičovského pohledu odráží pořadí vrstvení na ose Z. První prvek je dole, poslední nahoře.