반응형
iOS 13부터 멀티 씬(Multi Scene) 지원이 추가되었기 때문에, keyWindow는 더 이상 정확한 현재 화면의 윈도우를 반환하지 않습니다. 이 코드에서는 ProgressHUD를 현재 활성화된 윈도우에 추가하기 위해 UIApplication.shared.keyWindow를 사용했습니다.
해결 방법
대신 다음과 같은 코드로 변경해야 합니다.
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene,
let keyWindow = windowScene.windows.first(where: { $0.isKeyWindow }) {
superView = keyWindow
}
변경 사항 요약
- UIApplication.shared.connectedScenes로 현재 연결된 모든 씬(Scene)을 가져옵니다.
- 첫 번째 씬을 UIWindowScene으로 캐스팅합니다.
- windowScene.windows에서 현재 활성화된 Key Window를 가져옵니다.
- $0.isKeyWindow는 현재 키 윈도우인지 확인하는 속성입니다.
반응형
'UIKit' 카테고리의 다른 글
iOS/Swift/UIKit | Storyboard 및 UIView - UILabel 글자 크기 자동 변경 Autoshrink (0) | 2024.12.06 |
---|---|
UIKit | SwiftUI Preview 적용하기 (iOS 15.ver) (0) | 2024.08.13 |
UIKit | Content Hugging Priority 이해하기(가로 세로 레이아웃 조정) (0) | 2024.08.10 |
iOS | GCD에 관하여 - 2 (4) | 2024.07.16 |
iOS | GCD에 관하여 - 1 (0) | 2024.07.15 |