[iOS]<MemoApp> iPad 지원

RudinP·2023년 11월 24일
0

Study

목록 보기
125/227

iPad 지원

Universal

  • iPhone, iPad를 동시에 지원함
  • iPhone에서는 시트 형태로, 화면 대부분을 가리는 형태였지만 iPad에서는 기본값이 Form sheet 형태로 화면을 다 가리지 않음.

iPad 에서 문제

공유 버튼을 누를 경우 크래시 발생

발생 원인

아이폰에서는 공유 버튼을 누를 시 다음 화면과 같이 화면 너비를 채우는 식의 창이 발생한다.

다만, 아이패드에서는 동일한 방식으로 창을 띄우면 크기가 너무 큰 상황이 발생하기 때문에 PopOver형식을 채택한다.

따라서, 에러 내용을 살펴보면 PopOver을 위해서는 어떤 BarButtonItem이나 SourceView에서 발생하는지 지정을 해줘야한다는 것이다.

UIPopoverPresentationController


강의에서는 iOS 16 이전 버전이기 때문에 barButtonItem을 바로 지정해주었으나, iOS16부터는 sourceItem을 통해 지정해주어야 한다.
참고로 sender가 any 타입이었으므로 캐스팅을 해주어야 한다.

실행 결과

폰트 크기 조절

  • 어트리뷰트 탭에서 + 가 표시되어 있는 속성들은 디바이스 별로 다르게 설정해줄 수 있는 속성들이다.

  • iOS에서는 디바이스를 구분할 때 정확한 너비나 높이로 구분하지 않고 두가지 카테고리 size class를 기준으로 나눔
    Any: 사이즈 클래스를 상관하지 않는다는 뜻
    Regular: 상대적으로 큰 높이, 너비를 가짐 -> ipad
    Compact: 상대적으로 작은 높이, 너비를 가짐

iPad 설정을 위해 Width와 Height 모두 Regular로 선택 후 추가

실행 결과


profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글