ユニバーサルiOSアプリを構築しています。 メインビューには、他のビューコントローラをロードするボタンがいくつかあります。 私は "Main.storyboard"と "iPad storyboard.storyboard"を設定しました。 私は「メイン」と「iPad」の2つのビューを作成しました。 「メイン」ではストーリーボードIDを「FirstCar」とFirstPlayerに設定しました。 「iPad」では「FirstCarPad」とFirstPlayerPadに設定しました。 一般設定では、アプリをユニバーサルと指定し、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]; }
私が最初に「FirstCar」にアクセスボタンと「FirstCarPad」 ViewControllersをタップすると、私は「FirstPlayer」と「FirstPlayerPad」 viewControllersアプリにアクセスする第二のボタンをタップすると、すべてが正常に動作しますが、 この
とクラッシュによるキャッチされない例外「NSInvalidArgumentException」、理由にアプリを終了:「ストーリーボードは、()識別子を有するビューのコントローラが含まれていない 'FirstPlayerPad」
私はviewControllerをストーリーボードIDと全く同じように設定しました
私は髪を引き裂こうとしています。
誰でも助けてくれますか?
iOS 8以降をターゲットにできる場合は、ストーリーボードとサイズクラスを1つずつ使用することを検討してください。 – dasdom
iOS 8以上のサイズにアクセスできますが、自動レイアウトを使用するとアプリが正しく動作しません。私はモーションマネージャーを使用しています。オブジェクトを移動すると元の位置に戻すようにリセットします。これは難しいとは思っていません。 – user1114881