유니버셜 iOS 앱을 구축 중입니다. 다른보기 컨트롤러를로드하는 여러 개의 단추가 기본보기에 있습니다. "Main.storyboard"및 "iPad storyboard.storyboard"를 설정했습니다. "메인"및 "iPad"에서 두 가지보기를 만들었습니다. "Main"에서 Storyboard ID를 "FirstCar"및 FirstPlayer "로 설정했습니다. "iPad "에서"FirstCarPad "및 FirstPlayerPad"로 설정했습니다. " 일반 설정에서 앱을 Universal로 지정하고 iPhone의 스토리 보드 및 iPad의 "iPad"로 "메인"을 설정합니다.버튼 xcode에서 범용 앱으로 다른 스토리 보드보기로드
다음 코드를 사용하여 초기보기에서 스토리 보드의보기 컨트롤러를 시작합니다.
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
int height = [UIScreen mainScreen].bounds.size.height;
if (height == 568.0) {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"FirstCar"];
[self presentViewController:vc animated:YES completion:NULL]; }
}
else if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad){
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"ipad storyboard" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"FirstCarPad"];
[self presentViewController:vc animated:YES completion:NULL]; }
나는 viewControllers 응용 프로그램을 "FirstCar"그리고 나는 "FirstPlayer"를 액세스하는 두 번째 버튼을 탭하면 모든 것이 잘 작동하지만 ViewControllers "FirstCarPad"와 "FirstPlayerPad"를 액세스하는 첫 번째 버튼을 탭하면 때문에 캐치되지 않는 예외 'NSInvalidArgumentException'이
'스토리()는 식별자 뷰 컨트롤러를 포함하지 않는 '종료 앱 충돌 이유 : FirstPlayerPad '
하지만 뷰 콘트롤러는 스토리 보드 ID와 동일하게 설정해야합니다.
나는 머리를 찢어 버리고 있습니다.
누구든지 나를 도와 줄 수 있습니다.
iOS 8 이상을 타겟팅 할 수있는 경우 스토리 보드 및 크기 클래스를 하나 사용하는 것이 좋습니다. – dasdom
iOS 8 이상 크기에 액세스 할 수 있지만 자동 레이아웃을 사용할 때 앱이 올바르게 작동하지 않습니다. 나는 모션 매니저를 사용하고 있으며 오브젝트를 움직이면 원래의 위치로 되돌립니다. 나는 이것이 그렇게 힘들다고 생각하지 않을 것이다. – user1114881