1

私はiOSが初めてで、昨日ストーリーボードについて学びました。それはうまくいきます。このリンクを参照してください。絵コンテでiPhoneアプリを作ってみました。

しかし今は、iPhone と iPad 向けのユニバーサル アプリを作成したいと考えています。ストーリーボードも使用します。私が同じUIを持っていれば、それは問題にはなりません。同じ UI とは、タブ バー コントローラーを使用する iPhone UI と、iPad もタブ バー コントローラーを使用することを意味します。同じクラスを指すだけで、結果は同じになります。今、私は別のUIが欲しいです。iPhone ではタブ バーを使用しますが、iPad では分割ビューを使用します。

ここに私の質問があります:

  1. デバイスターゲットユニバーサルでそれを行うことは可能ですか? つまり、iPhone にはタブ バーがあり、iPad には分割ビューがあります。
  2. はいの場合、どのデバイスが実行されているかを知るにはどうすればよいですか? iPadかiPhoneのどちらかを選びます。iPhone/iPad で動作していることを確認するにはどうすればよいですか? appdelegate で何を検証する必要がありますか?
  3. iPad ストーリーボードの場合、分割ビュー コントローラーをドラッグしますが、アプリを実行するたびにマスターの詳細が表示されません。どうしてそんなことができるの?

ありがとう。:)

4

1 に答える 1

3

ユニバーサル アプリケーション (iPhone と iPad の両方をサポートするアプリケーション) を作成する場合、Xcode は既定で 2 つのストーリーボードを提供します。1 つは iPhone 用、もう 1 つは iPad 用です。ターゲットの設定の下に、メイン インターフェイスを表示するストーリーボードを構成できる場所が表示されます。これは、iPhone と iPad で個別に設定できます。

ここに画像の説明を入力

OS が正しいストーリーボードをロードします。

iPhone と iPad のどちらで実行しているかをコードで検出したい場合は、 を使用できますUSER_INTERFACE_IDIOM()。例えば:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

UIUserInterfaceIdiomPadiPad用もあります。

于 2014-01-21T07:29:57.983 に答える