2013-04-08 3 views
6

저는 어딘가에 물어 보았습니다. 대답 할 수있는 모든 조합을 검색했습니다. 당신이 나를 가리킬 수 있다면 용서해주십시오. 올바른 방향.iPhone 4 또는 5 용으로 먼저 개발하십시오.

새로운 iOS 앱을 개발하는 경우 먼저 iPhone 5 또는 4 화면 크기의 IB에 레이아웃을 설정합니까? 나는 autolayout을 사용하여 iPhone 4 응용 프로그램을 iPhone 5로 이동하는 방법에 대해 많은 기사를 찾았지만 그 반대는 아닙니다 ... ... 이는 나를 위해 별도의 인터페이스를 완전히 가지지 않을 응용 프로그램의 원하는 워크 플로를 생각하게합니다. 2는 3.5 "화면 크기의 IB 인터페이스를 만든 다음 autolayout을 사용하여 iPhone 5의 4 인치 화면에 적응하는 것입니다.

누군가 나를위한 모범 사례를 명확히 할 수 있습니까?

답변

6

Kendall Geln은 아주 좋은 점입니다. 특히 축소 요소가 사용자에게 좋지 않은 비좁은 경험을 제공 할 수 있기 때문에 작은 화면부터 빌드하고 크기를 조정하는 것이 더 좋습니다. 그 메모에서 그래픽 (이미지 및 비디오)이 두 화면 크기에 알맞게 잘 맞는지 확인해야합니다. 그래픽을 만들 때 처음에는 큰 그래픽으로 만든 다음 필요할 때 크기를 줄이는 것이 가장 좋습니다.

또 다른 디자인 고려 사항은 4 인치 및 3.5 인치 스크린에 대해 약간 다른 인터페이스를 만드는 것입니다. 4 인치 화면은 키가 크고 개발자에게 더 많은 공간을 제공하므로 더 많은 가능성을 제공합니다. 이것은 iPad 및 iPhone 인터페이스 디자인과 거의 동일합니다.

인터페이스 작성기에서도이 작업을 수행해야합니다. 기본적으로 (현재 Xcode 4.6 이상) 새로운 iPhone 기반 프로젝트는 4 인치/iPhone 5 레이아웃에서 인터페이스를 시작합니다.

Toggle Screen Size in Xcode IB

경우 : 당신은 화면 크기 전환 버튼을 클릭하여 언제든지 레이아웃을 전환 할 수 있습니다하면 인터페이스 빌더/편집기 화면의 오른쪽 아래 모서리에 (양쪽 끝에 화살표가있는 사각형 모양) AppDelegate에서 조건부로 스토리 보드를로드 할 수있는 것보다 다른 화면 크기에 대해 완전히 다른 인터페이스가 필요합니다. (. 전 3.5에서 4, 또는 그 반대로)

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    // Check if the user is on a newer iPhone/iPod with a 4-inch screen 
    if ([[UIScreen mainScreen] bounds].size.height == 568) { 
     // The user is on a newer device with a 4-inch screen - load your custom iPhone 5 storyboard 
     UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone5" bundle:nil]; 
     UIViewController *initViewController = [storyBoard instantiateInitialViewController]; 
     [self.window setRootViewController:initViewController]; 
    } else { 
     // The user is on an older device with a 3.5-inch screen - load the regular storyboard 
     UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
     UIViewController *initViewController = [storyBoard instantiateInitialViewController]; 
     [self.window setRootViewController:initViewController]; 
    } 
} 

가 요약하면, 내가 올바른 워크 플로우가 있다고 생각하지 않는다, 그러나 당신이 다음 사항에 유의해야한다 : 여기에 있다는 것에 대해 갈 수있는 방법 :

  • 다운 스케일링 당신이 낮은 해상도 또는 작은 크기로 그래픽을 디자인하고 그들이 원까지 확장 할 경우 큰 인터페이스는 ... 그래픽 말할 수 없다 그들이 비좁은하고 나쁜 사용자 경험
  • 같은 발생할 수 있습니다 아주 좋게 보입니다 (망막 및 비 망막 장치를 디자인 할 때 적용되는 것과 동일한 원칙).
  • 서로 다른 화면 크기와 각각에 대해 수행 할 수있는 작업을 고려하십시오. 별도의 스토리 보드를 만들 수 있음을 기억하십시오.

편집 : 2013 년 초부터 시작됩니다. Apple은 iPhone 5를 지원하지 않는 AppStore에 앱을 허용하지 않습니다. 앱 또는 업데이트를 상점에 가져 오려면 iPhone 5 화면 크기를 지원해야합니다.

+0

감사 RazorSharp와 켄달 기인, 이것은 단지 다른 사람들의 워크 플로우를보고 내가 잠재적으로 자동 레이아웃 과정에서 뭔가 빠진되지 않았습니다 있는지 확인하고 싶어, 확실히 나는 등 자동 레이아웃에 대해 독서를 통해 올 한 결론이다. – snownskate

+0

괜찮습니다! 어떤 대답이 당신을위한 최종 답 이었는지를 인정 된 대답으로 표시하십시오. 옆에 회색 체크 표시를하면됩니다. 수락 된 응답 옆에 녹색 체크 표시가 나타납니다. 이에 –

+0

추가 코멘트는 .... 나는 아이폰 4 화면 크기에 대한 두 번째 스토리 보드를 작성하고 3.5 "뷰 컨트롤러를 강제 단지 IB에서 리소스를 복사 끝났다. 확실하지 않음이 가장 좋은 방법은 좋은 일을하는 경우. – snownskate

3

일반적으로 UI가 가장 작은 크기를 타겟팅하고 자동 크기 조정 동작을 적절히 확장하도록 설정하는 것이 좋습니다. 그렇지 않으면 요소가 줄어들어 UI가 너무 좁아 질 수 있습니다.

viewDidLoad에있는 iPhone 5에서 알 수 있듯이 펜촉의 UI 요소는 아직 크기가 조정되지 않았거나 (적어도 이전 레이아웃 엔진에서는) 다시 배치되지 않습니다.

관련 문제