Sobes.tech
Junior — Middle

É possível usar vários objetos UIWindow numa única aplicação?

sobes.tech IA

Resposta da IA

Sim, na aplicação iOS é possível usar vários objetos UIWindow. Normalmente, a aplicação tem uma janela principal (janela chave), mas com o suporte a múltiplas cenas (UIScene) e ecrãs externos, o uso de várias janelas tornou-se comum.

Exemplos de uso de várias UIWindow:

  • Suporte a múltiplas cenas no iPadOS, onde cada janela corresponde a uma cena separada.
  • Criação de janelas pop-up ou sobreposições sobre a interface principal.
  • Exibição de conteúdo em ecrãs externos.

É importante lembrar que para cada UIWindow, deve-se gerir corretamente sua visibilidade e hierarquia, bem como atribuir um rootViewController.

Exemplo de criação de uma janela adicional:

let newWindow = UIWindow(frame: UIScreen.main.bounds)
newWindow.rootViewController = UIViewController()
newWindow.windowLevel = .alert + 1 // para que a janela fique acima da principal
newWindow.makeKeyAndVisible()

Assim, o uso de várias UIWindow é possível e útil em vários cenários.