Sobes.tech
Junior — Middle

Koju metodu treba pozvati da bi se prisilno ponovo nacrta interfejs u trenutnom ciklusu ažuriranja: setNeedsLayout ili layoutIfNeeded?

sobes.tech АИ

Одговор од АИ

Da biste prisilno osvežili interfejs u trenutnom ciklusu ažuriranja, treba da pozovete metodu layoutIfNeeded().

  • setNeedsLayout() označava pogled kao da zahteva ažuriranje rasporeda, ali će se ažuriranje dogoditi kasnije, u sledećem ciklusu.
  • layoutIfNeeded() odmah poziva ažuriranje rasporeda ako je pogled označen kao da zahteva ažuriranje.

Primer:

view.setNeedsLayout()      // Obeleži za ažuriranje
view.layoutIfNeeded()      // Izvrši ažuriranje odmah, ako je potrebno