Mikor kell módosítani a loadView metódust?
sobes.tech MI
Válasz az MI-től
A loadView módszer módosítása csak akkor szükséges, ha nem használ storyboardokat vagy .xib fájlokat a vezérlő (view) megjelenítéséhez. Ilyen esetekben az összes nézethierarchiát programozott módon hozza létre a loadView-ben, ahelyett, hogy engedné, hogy a UIViewController az Interface Builderből töltse be.
A loadView-en belül:
- Hozzon létre egy gyökérnézetet (
view) a vezérlő számára. - Rendelje hozzá a létrehozott nézetet a
self.viewtulajdonsághoz.
Soha ne hívja meg [super loadView]-t, amikor felülírja ezt a módszert, mert ez végtelen ciklust vagy más nem kívánt mellékhatásokat okozhat.
// Példa a loadView felülírására
override func loadView() {
// Programozott gyökérnézet létrehozása
let newView = UIView()
newView.backgroundColor = .white
// Alkérdések létrehozása és hozzáadása
let label = UILabel()
label.text = "Helló a kódból!"
label.translatesAutoresizingMaskIntoConstraints = false // Auto Resizing Mask kikapcsolása
newView.addSubview(label)
// Kötések konfigurálása az alkérdésekhez
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: newView.centerXAnchor),
label.centerYAnchor.constraint(equalTo: newView.centerYAnchor)
])
// A létrehozott nézet hozzárendelése a vezérlő view tulajdonságához
self.view = newView
}
A loadView programozott UI létrehozására való használata:
| Előnyök | Hátrányok |
|---|---|
| Teljes kontroll a UI létrehozásában. | Több kód írása szükséges. |
| Lehetőség összetett, dinamikus UI-k létrehozására. | Nehezebb vizuálisan értékelni az UI szerkezetét. |
| Potenciálisan jobb teljesítmény nagyon összetett UI-k esetén. | Kevésbé intuitív az UI-val való együttműködés. |
A legtöbb modern iOS alkalmazásban az ajánlott megközelítés a storyboardok vagy .xib fájlok használata, ahol a loadView automatikusan meghívódik ezekből az erőforrásokból való betöltéshez. A loadView felülírása alacsony szintű megközelítés, amelyet csak akkor szabad használni, ha valóban szükséges.