티스토리 뷰

지금 딴 거를 작성하는데 

해당 글이 잘 안써져서 길어져서 간단한 다른 이야기를 먼저 올려볼까합니다. 

 

혹시 아이폰에 자체적으로 확대 / 축소 기능이 있다는거 아시나요? 

 

그게 뭔지 모르시는 분들을 위해 간단히 설명드리면 

아래처럼 설정에 들어가시면 보이시는 "디스플레이 확대/축소"를 의미합니다.

이걸 설정하기면 모든 화면이 커집니다!

이 기능을 사용하면 각종 화면이 크게 보이는 걸 확인할 수 있습니다. 

 

이 기능을 뭐하러 감지(이벤트처리)하냐고 물어보시면

이 기능을 킨 상태로 화면을 보면 이상하게 보이는 경우가 있기 때문입니다

이때는 원인을 찾은 다음 해당 모드일때만 다르게 처리하면 되겠죠?

방법은 간단합니다.

// 아래 조건이 true 인 경우를 기준으로 작성했습니다.
// 확대모드입니다. 
UIScreen.main.scale < UIScreen.main.nativeScale
// 일반적인 경우 입니다.
UIScreen.main.scale == UIScreen.main.nativeScale
// 아이폰 mini처럼 화면이 작은 종류인 경우
UIScreen.main.scale > UIScreen.main.nativeScale

 

이걸 어떻게 쓰냐고요? 

아래처럼 사용하시면 됩니다.

override func viewDidLoad() {
    super.viewDidLoad()
    // 확대모드일때만 작동하게 변경
    if(UIScreen.main.scale < UIScreen.main.nativeScale){
        self.isZoomDisplay = true // 미니 제외
    }
}

 

* 미세 팁

화면이 이상하게 보이는 경우는 원인이 다양하지만 

저의 경우에는 화면이 굉장히 작아져서 이미지가 잘려보이는 현상이 있어 

일부 NSLayoutConstraint 의 값을 다르게(훨씬 작게) 적용되도록 바꾸었더니 정상적으로 나왔습니다.

(고정값으로 준 값들을 한번 확인해보시는걸 추천드립니다.)

 

 

저처럼 고통받으시는 분들이 있을것같아 올려봅니다. 

오늘도 파이팅입니다. 

댓글