2

ユニバーサル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と全く同じように設定しました

私は髪を引き裂こうとしています。

誰でも助けてくれますか?

+0

iOS 8以降をターゲットにできる場合は、ストーリーボードとサイズクラスを1つずつ使用することを検討してください。 – dasdom

+0

iOS 8以上のサイズにアクセスできますが、自動レイアウトを使用するとアプリが正しく動作しません。私はモーションマネージャーを使用しています。オブジェクトを移動すると元の位置に戻すようにリセットします。これは難しいとは思っていません。 – user1114881

答えて

0

これを動作させるために、私はMain.storyboardをMain-iPad.storyboardに名前を変更してプロジェクトに追加したFinderでMain.storyboardを複製しました。私は新しいストーリーボードを右クリックし、オープンソースを選択しました。これはストーリーボードをコードとして示し、targetRuntime = "iOS.CocoaTouch"をtargetRuntime = "iOS.CocoaTouch.iPad"に変更しました。私は再びそれを右クリックしたが、Open Storyboardを選択した。 設定を「Universal」に設定し、Main-iPad.storyboardをiPadのストーリーボードとして選択すると、すべて正常に動作します。私はちょうど各iPadビューで要素のサイズを変更し、位置を変更する必要があります。時間がかかるがそれに見合う価値がある。 これが他の人に役立つことを願っています。私はあなたがiPhoneからiPadに再構成したときに、サイズを変更してビューの要素の位置を変更したかったのですが、まあまあです。

関連する問題