apple/iOS

iOS 서로 다른 해상도를 가진 레이아웃 기기별 적용 안될 때

lgvv 2021. 6. 23. 15:48

iOS 서로 다른 해상도를 가진 레이아웃 기기별 적용 안될 때

 

작업환경

  • Xcode 12.4
  • 스토리보드상의 기기 : iphone 11
  • 구동하는 디바이스 : iphone 12 mini 

 

문제상황

  • 오토레이아웃을 정확하게 연결하였는데, 아이폰12 미니화면에서 우측으로 밀리는 현상 발생.
  • 아이폰 12 미니 시뮬레이터에서 아이폰 12 pro Max와 같은 비율을 갖고 출력되고 있었음.

 

내가 구성한 컬렉션 뷰 코드



디버깅 시도하기

  • 기기에 따라 width와 collectionView.bounds.width를 확인
    • 아이폰 12 프로 맥스의 기기 사이즈로 미니에서도 적용되는 거 발견
  • 문제점: 컬렉션 뷰 안에 컬렉션 뷰가 들어갈 형태로 구성했는데, 외부 레이아웃이 잘못 작성되어 내부 레이아웃 코드에서 프레임 기반으로 작성한 일부 코드의 문제 발생
  • 해결: 기기별 대응되도록 수정

아이폰12 화면

 

해결 후

해당 이슈에서 가장 직접적인 부분은 View의 Safe Area에 대한 지점이었음.