【iOS】오래된 앱의 유니버설 대응으로 최초로 확인하는 것【초보자】

1776 단어 iOSXcode12xib

이전 앱의 유니버설 지원으로 먼저 확인



iOS 앱 초보자의 내가, iPad로 만들어진 앱을 iPhone에도 대응시키려고 했을 때에 조금 빠진 부분이 있었으므로, 비망록으로서 남겨 두려고 생각합니다.

우선 SafeArea에 대응시킨다



처음에는 여기에 Safe Area라는 것이 표시되지 않은 상태였습니다. 나중에 Constraints를 붙일 때 절대 필요하므로 표시시켜 둡니다.

그렇게 하는 방법은 File inspector의 Interface Builder Document에 있는 Use Safe Area Layout Guides를 체크하는 것입니다.


내비게이션 바를 코드로 표시하는 경우



Attributes inspector의 Simulated Metrics에서 Top Bar 또는 Bottom Bar 설정을 확인합니다. 제 경우에는 Navigation Bar를 사용하고 있는 화면인데, 여기의 설정이 Inferred가 되어 있었습니다. 불투명 네비게이션 바의 경우 Opaque Navigation Bar를 선택합니다. Bottom은 사용하지 않으므로 None으로 만들었습니다.

이것은 왜 필요했는가 하면, 네비게이션 바의 높이가 iPad와 iPhone에서 다르지만, 배치되어 있는 View등이 SuperView로부터 네비게이션 바의 높이분, 고정으로 마진을 취한 Constraints에 되었기 때문입니다. 네비게이션 바 바로 아래에 배치한 파트가 iPhone에서 보면 네비게이션 바에 숨어 버렸습니다.

Simulated Metrics에서 Opaque Navigation Bar를 설정하면 이런 식으로 xib에서 내비게이션 바의 선을 볼 수 있습니다. 여기는 Safe Area 밖이므로, Constraints를 Safe Area 기준으로 붙여 가면, 네비게이션 바와 겹치는 것은 없어진다고 하는 것입니다.

이상, 알고 있는 사람으로부터 하면 뭐라고 할 수 없는 당연한 지식인가라고 생각합니다만, 초보자는 빠졌으므로 마찬가지로 초보자의 분에게 도움이 되면 다행입니다.

좋은 웹페이지 즐겨찾기