Sobes.tech
Middle

Kas nutiks, jei atidarysite kelis ekranus programėlėje ir uždarysite paskutinį iš jų?

sobes.tech AI

Atsakymas iš AI

Jei iOS programėlėje iš eilės atidarote kelis ekranus (ViewController), jie paprastai yra įdedami į navigacijos krūvą arba į vaizdų hierarchiją. Kai kviečiate metodą dismiss ant paskutinio atidaryto ekrano:

  • Šis ekranas bus uždarytas ir pašalintas iš ekrano.
  • Vartotojas grįš į ankstesnį ekraną krūvoje.
  • Jei paskutinis ekranas buvo pateiktas modaliu būdu, dismiss jį uždarys būtent jį, nepažeisdamas kitų.

Pavyzdys:

// Naujo ekrano atidarymas modaliu būdu
present(newViewController, animated: true, completion: nil)

// Paskutinio ekrano uždarymas
 dismiss(animated: true, completion: nil)

Taip dismiss veikia tik ant paskutinio pateikto ekrano ir grąžina vartotoją į ankstesnę sąsajos būseną.