Sobes.tech
Junior

Millises järjekorras lisatakse virnavaated (subviews), kui kutsutakse välja meetod addSubview?

sobes.tech AI

Vastus AI-lt

Vaated lisatakse üles kõigi olemasolevate alavaadete kohal samas järjekorras, milles kutsuti addSubview. Seega, viimane lisatud vaade on kõige kõrgem selle UIView alavaadete hierarhias.

Visuaalselt tähendab see, et viimane lisatud vaade katab eelnevad, kui nende raamid kattuvad.

Näide vaadete lisamisest:

// Vanema vaate loomine
let parentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
parentView.backgroundColor = .lightGray

// Esimese vaate loomine
let firstView = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
firstView.backgroundColor = .red

// Teise vaate loomine
let secondView = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
secondView.backgroundColor = .blue

// Esimese vaate lisamine. See on esimene subviews listis
parentView.addSubview(firstView)

// Teise vaate lisamine. See on teine subviews listis ja peal esimese
parentView.addSubview(secondView)

// Nüüd parentView.subviews sisaldab [firstView, secondView]

subviews massiivi järjekord peegeldab kihistamise järjekorda Z-akse suunas. Esimene element on allpool, viimane peal.