Sobes.tech
Junior — Middle

Na koji način se može upravljati rasporedom pre nego što se njegove dimenzije ažuriraju u metodu viewWillLayoutSubviews?

sobes.tech АИ

Одговор од АИ

Metoda viewWillLayoutSubviews se poziva pre nego što se ažuriraju veličine i raspored podgledova u iOS. U ovom metodu možete upravljati rasporedom kako biste pripremili ili izmenili raspored elemenata pre nego što sistem primeni nove veličine.

Glavni načini upravljanja rasporedom u viewWillLayoutSubviews su:

  • Ručno menjanje okvira (frames) podgledova, ako se ne koristi Auto Layout.
  • Ažuriranje constraint-a, na primer, menjajući njihove konstante.
  • Pozivanje metoda koji ponovo računaju veličine ili pozicije elemenata.

Primer izmene constraint-a:

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()
    myConstraint.constant = newValue
}

Važno je ne pozivati layoutIfNeeded unutar ovog metoda da bi se izbegli rekurzivni pozivi. Ovaj metod je pogodan za pripremu finalnog rasporeda elemenata pre prikaza.