아이폰6 Plus 힘든 일 3가지

2428 단어 iOS
기존 앱이 아이폰6/플러스 해상도에 대응해 고생이 많았다.
나는 세 가지를 특히 좋아한다.

(1) 레이아웃을 모델 이름으로 변경하지 않음


아이폰6(플러스)는 OS 설정에서 확대 표시하는 기능이 있다.
하면, 만약, 만약...
  • 아이폰6 플러스 내부에 아이폰6 해상도 동작으로 확대 표시
  • 아이폰6 내부에서 아이폰5 해상도로 동작하고 확대
  • .
    아이폰6 플러스라면 변환판 디자인 처리를 적으면 자동 확대 시 예상과 다른 레이아웃으로 바뀔 가능성이 크다는 것이다.
    자신의 화면 높이가 700 이상이면 대응할 수 있다.
    [UIScreen mainScreen].bounds.size.height >= 700
    
    아이패드의 대응을 고려하면 별도의 조건식이라고 생각한다.(※ 아이패드는 지원되지 않음)
    http://qiita.com/tomohisaota/items/f8857d01f328e34fb551
    매우 참고 가치가 있다.

    (2) AutoResizingMask 한계


    오토Layout이면 성능이 떨어지기 때문에 "빈번하게 사용하는 화면은 비오토Layout이고, 빈도가 낮은 화면은 오토Layout"이라고 설명했다.
    하지만 그렇기 때문에 나는 여러가지 고생을 겪었다...
    AutoResizingMask에서 아무리 설정해도 잘 설정되지 않았는데 결과적으로 View 등급 제작 > layoutSubviews에서 기종을 판별하고 수동으로 설정하는 패턴이 많았습니다.
    특히 폭과 높이가 유지되는 폭(높이)을 지정하는 것과는 차이가 있다.
    InterfaceBuilder에서 지정하므로 특히 AutoLayout이 좋습니다.
    AutoLayout 설정 자체도 Xcode6로 UI가 많이 개선돼 사용하기 편했다.
    나는 털이 싫은 사람도 도전할 수 있다고 생각한다.

    (3) Constrain to margin 사용 안 함


    Xcode 6로 지면제한을 추가하려는 경우 Constrain to margin이 체크해 들어갔으니 피하는 게 좋다.
    떼어내지 않아도 움직일 수 있지만, Layout attributes relative to the layout margin on iOS versions proior to iOS 8의 경고는 정신을 불안정하게 한다.
    (Deployment Target가 iOS 8인 경우 표시되지 않음)
    제약조건을 추가할 때 선택을 취소하십시오.

    잊어버리면 어떤 제약 때문에 경고를 보내는지 몰라서 힘들게 경고를 삭제하는데...

    One more thing...


    제작 후 아이폰6 플러스에서만 레이아웃 디자인을 전환하는 것은 애플에서는 추천하지 않는다.
  • xib 파일은 6Plus에서 자동으로 전환할 수 없습니다(있으면 알려주세요...)
  • 6Plus 레이아웃만 변경하면 "자동 확대"와 반전
  • 후자는 촌스럽고 번거롭다(´63;)네.
    "height>700이면 30%의 글꼴이 커진다"며 자동으로 확대되는 글꼴이 작아진다고 밝혔다.
    잘 안 보여서 자동으로 확대됐는데 글이 오히려 작아졌다니 어리석은 짓이다.
    (30%는 너무 많이 한 건 사실이지만...)
    안드로이드와 달리 개발 환경에서도 해상도 차에 대한 지원이 넉넉하다.
    이 사건에서 애플은 6 플러스에서 판면 디자인을 전환하는 처리를 고려하지 않았다고 생각한다.
    레이아웃 디자인을 변경하기보다는 다이나믹타입을 지원합니다.

    좋은 웹페이지 즐겨찾기