STUDIES/IOS

화면 보호기 설정

두퍼 2022. 11. 10. 15:07

SceneDelegate(Life Cycle) 이용해서  화면 보호기

1. 어떤 image로 화면 보호기 설정 할 때

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?
    
    var imageView: UIImageView? //여기
    
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let _ = (scene as? UIWindowScene) else { return }
    }

    func sceneDidDisconnect(_ scene: UIScene) {
        print("sceneDidDisconnect")
        
    }

    func sceneDidBecomeActive(_ scene: UIScene) {
        print("sceneDidBecomeActive")
        
        //여기: 앱이 다시 활성화 되면 이미지뷰를 superview (window)에서 제거하기!!!
        if let imageView = imageView {
                    imageView.removeFromSuperview()
                }

    }

    func sceneWillResignActive(_ scene: UIScene) {
        
        print("sceneWillResignActive")
        
        //여기: imageview를 window 크기로 잡아주고 window에 추가한다
        guard let window = window else {
                    return
                }
                imageView = UIImageView(frame: window.frame)
                imageView?.image = UIImage(named: "image")
                window.addSubview(imageView!)

    }

 

 

 

2. blur 처리하는 화면 보호기