Sobes.tech
Junior — Middle

A komponens életciklusának mely szakaszában lehet biztonságosan megszerezni a jelenlegi állapotáról szóló aktuális információkat az ablakról vagy annak keretéről?

sobes.tech MI

Válasz az MI-től

Az aktuális információk az iOS-ben az ablak vagy annak keretének aktuális állapotáról biztonságosan megszerezhetők a viewDidLayoutSubviews módszerben a UIViewController-ban. Ebben a szakaszban minden nézet már helyes méretekkel és pozíciókkal rendelkezik, mivel a rendszer befejezte a layout folyamatát. Például itt pontos méreteket kaphatunk a view.window vagy a view.frame-ről.

Példa:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    if let window = self.view.window {
        print("Ablak mérete: \(window.frame.size)")
    }
    print("Nézet mérete: \(self.view.frame.size)")
}