Millal tuleks muuta meetodit loadView?
sobes.tech AI
Vastus AI-lt
loadView meetodit tuleks muuta ainult siis, kui te mitte kasutate storyboard'e või .xib faile vaate (view) loomiseks. Sellistel juhtudel loote kogu vaatehierarhia programmiliselt loadView sees, mitte lubades UIViewController-il seda Interface Builderist laadida.
Sises loadView peate:
- Looge kontrolleri põhivaade (
view). - Määrake loodud vaade
self.viewomadusele.
Ärge kunagi kutsuge [super loadView] selle meetodi ülekirjutamisel, kuna see võib põhjustada lõpmatu tsükli või muid soovimatuid kõrvaltoimeid.
// Näide `loadView` ülekirjutamisest
override func loadView() {
// Loome põhivaate programmiliselt
let newView = UIView()
newView.backgroundColor = .white
// Loome ja lisame alamvaateid
let label = UILabel()
label.text = "Tere koodist!"
label.translatesAutoresizingMaskIntoConstraints = false // Keelame Auto Resizing Maski
newView.addSubview(label)
// Seadistame konstrained alamvaadetele
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: newView.centerXAnchor),
label.centerYAnchor.constraint(equalTo: newView.centerYAnchor)
])
// Määrame loodud vaate `view` omadusele
self.view = newView
}
Programmilise UI loomise kasutamine loadView-i kaudu:
| Eelised | Miinused |
|---|---|
| Täielik kontroll UI loomisel. | Rohkem koodi kirjutada. |
| Võimalus luua keerulisemaid, dünaamilisi UI-sid. | Vaidlusi UI struktuuri visuaalsel hindamisel. |
| Võib-olla parem jõudlus väga keerulise UI puhul. | Vähem intuitiivne koostöös UI-ga. |
Enamik kaasaegseid iOS rakendusi kasutab storyboard'e või .xib faile, kus loadView kutsutakse automaatselt nende ressursside vaate laadimiseks. loadView ülekirjutamine on madalama taseme lähenemine, mida tuleks kasutada ainult siis, kui see on tõesti vajalik.