1

2 つのストーリーボードを持つユニバーサル アプリがあります。

  • iPhone.storyboard
  • iPad.storyboard

これで、iPad と iPhone の両方に存在するビューまたは「ビュー ツリー」ができました。「」を作成する必要がありますかUniversal.storyboard(これは可能ですか)、またはそれらのビューを s に除外nibして「古い方法」で実行し、それらUIViewControllerの s を参照する必要があります。

4

2 に答える 2

2

または、ストーリーボードを使用するかどうかについての意見の問題です。ストーリーボードを使用する場合は、iPad 用と iPhone 用に別々のストーリーボードを作成する必要があります。ストーリーボードを使用しても、iPhone と iPad で同じビュー コントローラーを使用する予定がある場合は、多数の userIdiom if を使用することになります。

于 2012-08-26T08:32:48.820 に答える
2

ストーリーボードを作成するときに、ストーリーボードをどちらか一方として定義する必要があるため、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 のポップオーバーに表示されるだけで、すばらしい効果が得られます。

それがうまくいくことを願っています

于 2012-08-26T12:44:53.130 に答える