Junior — Middle
Akými metódami možno určiť, že komponent View sa zobrazuje na aktuálnej obrazovke?
sobes.tech AI
Odpoveď od AI
Ak chcete určiť, či sa UIView zobrazí na obrazovke, môžete použiť niekoľko prístupov:
-
Skontrolujte vlastnosť
windowu UIView. Akview.window != nil, znamená to, že pohľad bol pridaný do hierarchie a je zobrazený na obrazovke. -
Skontrolujte vlastnosť
isHidden. Akview.isHidden == false, potom pohľad nie je skrytý. -
Skontrolujte prienik rámca pohľadu s viditeľnou oblasťou obrazovky, napríklad pomocou metódy
convert(_:to:)a porovnaním sUIScreen.main.bounds.
Príklad kontroly:
if let window = view.window, !view.isHidden {
let viewFrameInWindow = view.convert(view.bounds, to: window)
if window.bounds.intersects(viewFrameInWindow) {
print("Pohľad sa zobrazuje na obrazovke")
}
}
Týmto spôsobom kombinácia kontroly window != nil, isHidden == false a prieniku s viditeľnou oblasťou umožňuje určiť, či sa View zobrazuje na aktuálnej obrazovke.