Junior
Milyen sorrendben kerülnek hozzáadásra a halmozott nézetek (subviews) az addSubview metódus hívásakor?
sobes.tech MI
Válasz az MI-től
A nézetek fölé adódnak minden létező alnézetet ugyanabban a sorrendben, ahogyan a addSubview hívás megtörtént. Így a legutóbb hozzáadott nézet lesz a legfelsőbb a UIView alárendelt nézeteinek hierarchiájában.
Látványosan ez azt jelenti, hogy a legutóbb hozzáadott nézet elfedi az előzőket, ha azok keretei átfedésben vannak.
Példa nézetek hozzáadására:
// Szülő nézet létrehozása
let parentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
parentView.backgroundColor = .lightGray
// Első nézet létrehozása
let firstView = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
firstView.backgroundColor = .red
// Második nézet létrehozása
let secondView = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
secondView.backgroundColor = .blue
// Első nézet hozzáadása. Ez lesz az első a subviews között
parentView.addSubview(firstView)
// Második nézet hozzáadása. Ez lesz a második a subviews között és fölé kerül az elsőnek
parentView.addSubview(secondView)
// Mostantól a parentView.subviews tartalmazza [firstView, secondView]
A subviews tömb sorrendje tükrözi a Z-tengely menti rétegezési sorrendet. Az első elem lent, az utolsó fent helyezkedik el.