1

最初は iPhone アプリを意図していたプロジェクトがありますが、今は iPad もサポートしたいと考えています。プロジェクトのターゲットを iPhone から Universal に変更しましたが、必要な両方のペン先バージョンを管理する方法がわかりません。既に iPhone 用に設計されたペン先があります。デバイスに応じて異なるペン先で同じviewControllerをロードしてみましたが、同じアウトレットに複数のインターフェースコントロールを設定することはできません。何か助けはありますか?私はXcode 4.4を持っています

4

3 に答える 3

3

とても簡単です。ストーリーボード ファイルの場合は、サフィックス_iPad_iPhoneサフィックスを含めるだけです。たとえば、元の絵コンテ名が の場合、と になりMyStoryboard.storyboardます。プロジェクトの概要ビューで、各デバイスのストーリーボード ファイルを設定することもできます。MyStoryboard_iPad.storyboardMyStoryboard_iPhone.storyboard

次に、.xib ファイルの場合は、サフィックス~iPhone~iPadサフィックスを含めます。 ViewController.xibとなりViewController~iPad.xibViewController~iPhone.xib

まず、既存の .xib ファイルの複製を作成し、名前を変更して iPad と iPhone のサフィックスを付けることができます。次に、必要に応じて各 .xib の内容を変更します。

.m コードについては、デバイス タイプを確認してコードを分岐できます。私のアプローチは、次のようにデバイス タイプを識別するマクロを定義することです。

#define isDeviceIPad (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
#define isDeviceIPhone (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)

次に、これらのマクロ (bool 値を返す) を使用して、デバイスの種類 (特定のビューの配置や寸法など) に固有のコードを記述します。

于 2012-11-20T09:15:37.163 に答える
1

対象のデバイスのみを iPhone / iPad に変更し.xib、iPad のファイルを使用できます。

  if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
    //For navigate to iphone view 
}
else{
     //For navigate to ipad view
}

参照

于 2012-11-20T09:18:14.253 に答える
0

各ファイルに iPad 向けの XiB を 1 つ追加し、ナビゲーション中に、上記のコードでデバイスの種類を確認した後、Xib を選択します。

于 2012-11-20T10:16:12.073 に答える