2017-01-01 3 views
0

IOS 응용 프로그램의 키 UIWindow에 오버레이 창을 추가하려고합니다. 그러나 새 오버레이 UIWindow가 보이지 않는 것 같습니다.UIWindow 오버레이가 표시되지 않음

이 lldb을 기반으로 성공적으로하지만 추가되는 것 같습니다 : 디버그에서

(lldb) po UIApplication.shared.windows 
▿ 2 elements 
    - 0 : <UIWindow: 0x7fdfd3d0aec0; frame = (0 0; 375 667); gestureRecognizers = <NSArray: 0x60800004d680>; layer = <UIWindowLayer: 0x608000220980>> 
    - 1 : <UIWindow: 0x7fdfd3c0d010; frame = (0 0; 375 667); gestureRecognizers = <NSArray: 0x60000004c9c0>; layer = <UIWindowLayer: 0x6000002216e0>> 

,

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let vc = UIViewController() 
    vc.view.backgroundColor = UIColor.blue 

    let window = UIWindow() 
    window.frame = self.view.bounds 
    window.backgroundColor = UIColor.blue 
    window.windowLevel = UIWindowLevelStatusBar 
    window.rootViewController = vc 
    window.isHidden = false 
} 

이/힌트의 모든 종류의 감사 감사

답변

2

도움이 될 viewDidLoad() 메소드가 종료되면 귀하의 창은 할당 해제됩니다. 두 번째 창을 강력하게 유지해야합니다.

+0

레오는 분명히 창을 유지하여 문제를 해결했습니다. 문서에서이 요구 사항을 찾을 수 있기를 바랍니다. –

+0

예, 창 관련 항목에 대한 Apple의 설명서가 부족합니다. https://bugreport.apple.com에서 설명서에 대한 개선 요청을 확인하십시오. –