2 つのストーリーボードを持つユニバーサル アプリがあります。
iPhone.storyboard
iPad.storyboard
これで、iPad と iPhone の両方に存在するビューまたは「ビュー ツリー」ができました。「」を作成する必要がありますかUniversal.storyboard
(これは可能ですか)、またはそれらのビューを s に除外nib
して「古い方法」で実行し、それらUIViewController
の s を参照する必要があります。
2 つのストーリーボードを持つユニバーサル アプリがあります。
iPhone.storyboard
iPad.storyboard
これで、iPad と iPhone の両方に存在するビューまたは「ビュー ツリー」ができました。「」を作成する必要がありますかUniversal.storyboard
(これは可能ですか)、またはそれらのビューを s に除外nib
して「古い方法」で実行し、それらUIViewController
の s を参照する必要があります。
または、ストーリーボードを使用するかどうかについての意見の問題です。ストーリーボードを使用する場合は、iPad 用と iPhone 用に別々のストーリーボードを作成する必要があります。ストーリーボードを使用しても、iPhone と iPad で同じビュー コントローラーを使用する予定がある場合は、多数の userIdiom if を使用することになります。
ストーリーボードを作成するときに、ストーリーボードをどちらか一方として定義する必要があるため、2 つのプラットフォーム間でストーリーボードを共有できるとは思いません。
ユーティリティ ストーリーボードを使用して、セグエ経由ではなくコード経由で直接アクセスしたいものを保持できます。たとえば、ログインやユーティリティ ビューなどのアプリケーション間で簡単に共有したいものを言います。ただし、まだいずれかのデバイス プラットフォームに限定されています。
参考までに、ストーリーボード オブジェクトに識別子を追加すると、コードで次のように取得できます。
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Login" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"LoginPage"];
//once you have the view controller you can push it, pop it or segue to it.
[self.navigationController pushViewController:vc animated:YES];
iPhone アプリを iPad に変換するときに私が見つけた巧妙なトリックは、iPhone ビューを iPhone ストーリーボードから iPad ストーリーボードにコピー アンド ペーストし、ポップオーバーを使用して表示することでした。
巧妙なトリックは次のとおりです。何かを行う前に、iPhone ビューコントローラーのサイズ プロパティをフリー フォームに設定し、それを選択して、C コマンドでコピーします。iPad のストーリーボードに移動して貼り付けると、サイズが維持されます。これで、好きなように使用できます。オブジェクトをコピーするか、そのままにしておきます。通常のコピー/貼り付けでは iPhone のビューが大きな iPad のビューに変換されてから、それらを修正する必要があるため、これにより多くの時間とフラストレーションを節約できます。
一部のページは、まったく同じサイズのままで、何も変更せずに iPad のポップオーバーに表示されるだけで、すばらしい効果が得られます。
それがうまくいくことを願っています