Kad būtu jāmaina loadView metode?
sobes.tech AI
Atbilde no AI
Mainīt loadView metodi vajadzētu tikai tad, ja ne izmantojat storyboardus vai .xib failus, lai izveidotu kontroliera skatu (view). Šādās gadījumos visu skatu hierarhiju veidojat programmatiski loadView, nevis ļaujot UIViewController to ielādēt no Interface Builder.
loadView iekšienē jums jā:
- Izveido galveno skatu (
view) kontrolierim. - Piešķirat izveidoto skatu
self.viewīpašībai.
Nekad neizsauciet [super loadView], pārrakstot šo metodi, jo tas var novest pie bezgalīgas cilpas vai citiem nevēlamiem blakus efektiem.
// Piemērs, kā pārrakstīt loadView
override func loadView() {
// Programmatiski izveidojam galveno skatu
let newView = UIView()
newView.backgroundColor = .white
// Izveidojam un pievienojam apakšskatus
let label = UILabel()
label.text = "Sveiki no koda!"
label.translatesAutoresizingMaskIntoConstraints = false // Izslēdz Auto Resizing Mask
newView.addSubview(label)
// Iestatām konstruantus apakšskatiem
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: newView.centerXAnchor),
label.centerYAnchor.constraint(equalTo: newView.centerYAnchor)
])
// Piešķiram izveidoto skatu `view` īpašībai
self.view = newView
}
Izmantojot loadView programmatiski veidojot UI:
| Priekšrocības | Trūkumi |
|---|---|
| Pilnīga kontrole pār UI veidošanu. | Vairāk koda rakstīšanas. |
| Iespēja veidot sarežģītus, dinamiskus UI. | Grūtāk vizuāli novērtēt UI struktūru. |
| Iespējams labāka veiktspēja ļoti sarežģītam UI. | Mazāk intuitīvi sadarbībai ar UI. |
Lielākajā daļā mūsdienu iOS lietojumprogrammu ieteicams izmantot storyboardus vai .xib failus, kuros loadView tiek automātiski izsaukts, lai ielādētu skatu no šiem resursiem. loadView pārrakstīšana ir zemāka līmeņa pieeja, kuru vajadzētu izmantot tikai tad, ja tas ir patiešām nepieciešams.