.xib 또는 .storyboard를 사용하지 않는 iPad 애플리케이션을 iPhone 스케일로 축소하는 더 효율적인 방법이 있습니까?

Ataranlen

iPhone의 폼 팩터에 맞게 iPad 애플리케이션을 축소하는 방법에 대한 조사를 시작하고 있습니다. 가장 큰 문제는이 프로젝트가 사용자 지정 UIInputView를 제외하고 .storyboards 또는 .xib 파일을 사용하지 않는다는 것입니다.

내 주요 질문은 레이아웃에 관한 것입니다 (분명히). 모든 프레임 값이 코드에 있으므로 총 프레임 크기를 기준으로 여러 프레임을 허용하는 가장 좋은 (가장 짧은) 방법은 무엇입니까?

스토리 보드에서는 이것이 매우 쉽다는 것을 알고 있지만 여러 개발자와 SVN의 사용으로 인해 초기 개발 중에는 사용을 포기해야했습니다. 주제에 대한 일부 Google 쿼리에 대한 많은 리소스가 표시되지 않습니다. 대부분의 개발자는 iPhone-> iPad에서 그 반대가 아닙니다.

이 코드에 대해 알고 있습니다.

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

그러나 우리가 무언가의 프레임을 설정하는 코드에서 500 개 이상의 장소에서 이것을하고 싶지 않습니다.

장치 별 프레임 크기를 검색하기 위해 모든 프레임 정의를 클래스로 추출하는 것이 더 효율적입니까?

몇 가지 추가 참고 사항, 우리는 팝 오버 이외의 iPad 전용을 사용하지 않습니다. 전체 인터페이스는 대부분 하나의 기본 UIViewController에 중첩 된 UIView입니다.

그레이 마우스

이것은 정확히 자동 레이아웃이 해결하고자하는 유형 중 하나입니다. 장면 뒤에는 모든 것이 이제 자동 레이아웃을 사용하고 있지만 크기에 대해 하드 코딩 된 상수 값이 많으면 실제로 새로운 기능을 활용하기 위해 많은 작업을해야합니다.

스토리 보드 / xib을 피하려면 프레임 / 경계 (예 : 많은 initWithFrame 호출)를 통해 정적 크기를 사용하지 않도록 코드를 리팩토링하는 것이 좋습니다. 대신 가능한 한 Visual Format Language를 사용하고 전체적으로 드롭 다운하는 것이 좋습니다. 필요에 따라 NSLayoutConstraints.

이것을 읽고 이해하고 싶을 것입니다. 프로그래밍 방식으로 자동 레이아웃 작업

VFL을 사용하면 거의 모든 크기와 위치를 상대 값으로 표현할 수 있습니다. 불가능한 경우 iPad v. iPhone에 대해 명시 적으로 설정해야하는 값을 사용하여 VFL 호출에 메트릭을 전달할 수 있습니다 (상대적으로 계산 된 값이 작동하지 않는 경우).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관