[iOS/ objective c] 노치 및 물리버튼 유무 확인 




safeArea사용없이 UI호환성을 유지하기 위해 사용을 했는데

다른 분들한테 도움이 될지 모르겠네요.


혹시라도 찾는 분들을 위해 공유해봅니다. 

1. 노치(Notch)디자인 확인 


    if (@available(iOS 11.0, *)) {

        UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];

        if (mainWindow.safeAreaInsets.top > 24.0) {

            ~~

        }

    }

    


2. 물리버튼 유무 확인


    if (@available(iOS 11.0, *)) {

        float bottom = UIApplication.sharedApplication.keyWindow.safeAreaInsets.bottom;

        if(bottom > 0){

            ~~

        }

    }


safeAreaInset의 크기를 체크하여 노치, 물리버튼 유무를 체크했습니다. 


말그대로 트릭이라, 

앞으로의 OS업데이트에 따라 안될 수 있는점 참고하세요.


그럼 도움이 됐길.