2

たとえば、iPhone でコントローラー A を表示し、iPad でコントローラー B を表示するアプリがあるとします。たとえば、 UITableView (iPhone の場合) とUICollectionView (iPad の場合) のように考えることができます。両方のコントローラーは同じモデルを持ち、共有のものを共有できる同じ基本クラスを持つこともできます。

ユニバーサルストーリーボードの前に、iPhone用とiPad用の2つの個別のストーリーボードがあり、実行時にデバイスに応じて正しいストーリーボードをチェックしてロードしました。

問題は、ユニバーサルストーリーボードでそれを行う正しい方法は何ですか?

オプション 1 - テーブルビューとコレクション ビューを持つ 1 つのストーリーボードを使用し、それらの両方に 1 つのコントローラーのみを使用し、不要なものを非表示にします。

オプション 2 - このシナリオではユニバーサルを使用しないでください。

iPhone と iPad の UI が同じ場合に、ユニバーサル ストーリーボードを使用する必要があるかどうかを理解しようとしています。

4

3 に答える 3

3

GUI 全体が iPhone と iPad で異なる場合は、2 つの異なるストーリーボードを使用する必要があります。

GUI に同じコントロールがあり、スクリーン フレームに合わせてコントロールのサイズを変更したい場合は、サイズ クラスとユニバーサル ストーリーボードが便利です。

これが、iPhone と iPad でコントロールが異なる単一のケースである場合は、次の 1 つのことを行ってください。

ユニバーサル ストーリーボードを使用して、次のような iPhone と iPad 用の 2 つの ViewController を作成します。

于 2015-07-02T14:04:57.027 に答える
2

iPhone アプリに UITableView を含める必要はありません。UICollectionView は基本的に同じものです。

2 種類の UICollectionViewCells を作成するだけで、1 つを基本的なテーブル ビュー セルのように見せることができ、適切なデバイスで使用できます。おそらく、2 つ目の UICollectionViewFlowLayout も必要になるでしょう。

于 2015-07-02T13:42:42.463 に答える
1

そのために 1 つのストーリーボードを使用し、その中に 2 つの個別の VC クラスを作成し、デバイスの種類に応じて正しいストーリーボード オブジェクトをプッシュすると思います。2 つのストーリーボードを使用する 1 つのビューだけでは、メモリが無駄になり、作業が増えるだけです。

于 2015-07-02T13:25:46.240 に答える