Middle+
Kada turėtumėte keisti loadView metodą?
sobes.tech AI
Atsakymas iš AI
Keisti loadView metodą reikia tik tada, kai ne naudojate storyboard'us ar .xib failus, kad sukurtumėte valdiklio vaizdą (view). Tokiu atveju visą vaizdų hierarchiją kuriate programiškai loadView viduje, o ne leidžiate UIViewController ją įkelti iš Interface Builder.
loadView viduje turėtumėte:
- Sukurti pagrindinį vaizdą (
view) valdikliui. - Priskirti sukurtą vaizdą
self.viewsavybei.
Niekada nevykdykite [super loadView] perrašydami šį metodą, nes tai gali sukelti begalinį ciklą ar kitus nepageidaujamus šalutinius efektus.
// Pavyzdys, kaip perrašyti loadView
override func loadView() {
// Programiškai sukuriame pagrindinį vaizdą
let newView = UIView()
newView.backgroundColor = .white
// Sukuriame ir pridedame subvaizdus
let label = UILabel()
label.text = "Sveiki iš kodo!"
label.translatesAutoresizingMaskIntoConstraints = false // Išjungti Auto Resizing Mask
newView.addSubview(label)
// Nustatome konstruočių subvaizdams
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: newView.centerXAnchor),
label.centerYAnchor.constraint(equalTo: newView.centerYAnchor)
])
// Priskiriame sukurtą vaizdą `view` savybei
self.view = newView
}
Naudojant loadView programiškai kuriant UI:
| Privalumai | Trūkumai |
|---|---|
| Pilnas kontrolė kuriant UI. | Daug daugiau kodo rašyti. |
| Galimybė kurti sudėtingus, dinamiškus UI. | Sunku vizualiai įvertinti UI struktūrą. |
| Galimai geresnis našumas labai sudėtingam UI. | Mažiau intuityvu bendradarbiaujant su UI. |
Dauguma šiuolaikinių iOS programų naudoja storyboard'us arba .xib failus, kur loadView automatiškai kviečiamas įkelti vaizdą iš šių išteklių. loadView perrašymas yra žemesnio lygio metodas, kurį reikėtų naudoti tik tada, kai tai tikrai būtina.