2014-01-07 2 views

답변

4

기본적으로 모든 아이폰의 화면 크기는 같은 스토리 보드를 공유합니다. 자동 레이아웃 또는 자동 크기 조정 (스트럿 및 스프링)을 사용하여 화면 크기의 차이를 고려하여 조정할 수 있습니다. UI 변경을 수행 할 때 두 개의 스토리 보드를 업데이트 할 필요가 없으므로이 방법이 가장 좋습니다. 또한 복잡한 화면 변경에 필요할 때로는 다른 화면 크기를 고려하여 코드를 조정할 수 있습니다.

별도의 스토리 보드를 사용해야하는 경우 프로젝트 타겟으로 이동하여 "메인 인터페이스"에서 스토리 보드를 제거해야합니다. 그런 다음 앱 대리인에게 전달하십시오. 그것은을 얻을 경우 당신은 줄에 사용할 다른 스토리 보드를 선택하는 UIScreen.mainScreen.bounds 보면 화면의 높이를 검사 할 수 있습니다

self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; 
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *viewController = [storyboard instantiateInitialViewController]; 
self.window.rootViewController = viewController; 
[self.window makeKeyAndVisible]; 

다음 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 방법에서는 다음과 유사한 코드를 추가해야합니다 스토리 보드.

내가 말했듯이, 동일한 스토리 보드를 사용하고 자동 레이아웃과 같은 것을 사용하여 화면을 조정하는 것이 훨씬 더 좋은 생각이라고 생각합니다. 유지 보수가 훨씬 쉬우 며 청소기가 더 쉬워지고 버그가 줄어들 것입니다.

1

보기가 실제로 크기가 다른 경우가 아니라면이 작업을 수행하지 않는 것이 좋습니다. 앱 위임의 창 크기를 확인하고 수동으로 스토리 보드를로드하는 경우, 그것은 여기에서 설명 물어 수 있습니다 :

Using Multiple Storyboards in iOS

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MyStoryboardIdentifier" bundle:nil]; 
UIViewController* myStoryBoardInitialViewController = [storyboard instantiateInitialViewController]; 

[self.navigationController pushViewController:myStoryBoardInitialViewController animated:YES]; 
+0

감사합니다.하지만이 코드는 정확하지 않습니다.''presentModalViewController : animated : ''는 더 이상 사용되지 않습니다. iOS 6.0에서 처음 사용되지 않음' – Dmitry

+1

사과드립니다. 잘못된 섹션을 복사했습니다. 위의 내용을 업데이트했습니다. – lehn0058

관련 문제