0

EDIT:以下の「クラス」と書いているところは、文字通り「クラス」ではなく、「クラスの実際のクラス名」を意味します!

ユニバーサル アプリの UIViewController の場合、次を使用します。

[[class alloc] initWithNibName:nil bundle:nil];

また

[[class alloc] init]; // same thing

ファイル付き:

  1. class~ipad.xib
  2. class~iphone.xib

Apple は、Apple のドキュメントに従って、デバイス固有の NIB を正しくロードします。

ただし、UIViewController の拡張子が「.mm」の場合、毎回失敗します。Obj-C++ ビューコントローラーでのみ発生するようです (ファイル拡張子を変更すると「修正」されます)。

4

1 に答える 1

0

ああ、自己回答で、うまくいく回避策を見つけました:

それ以外の:

initWithNibName:nil bundle:nil

使用する:

initWithNibName:@"class" bundle:nil // where "class" == your classname, no extension

ファイル名に基づいてNIBファイルを読み取るためのAppleのコードにバグが何であれ...これはそれを修正するようです

于 2012-12-13T18:08:22.053 に答える