Sobes.tech
Middle+

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:

  1. Looge kontrolleri põhivaade (view).
  2. Määrake loodud vaade self.view omadusele.

Ä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.