2011-07-12 8 views
4

最近、View Controllerは、正確な名前のnibファイルを自動的にロードします。UIKit:nibファイルを自動的にロードするコントローラを表示します。

私は単に

[[[ViewController alloc] init] autorelease] 

ようなビューコントローラを初期化することができ、ナビゲーションコントローラまたはそうにそれをプッシュするときに、ペン先は、私が今まで何もせずにロードされます。

これは、私のアプリでは1つのビューコントローラを除いて動作しますが、なぜそれが分かりません。彼らのnibsを自動的にロードするすべてのView ControllerはおそらくXcode 4で作成されていますが、動作しない唯一のコントローラはXcode 3で作成されたものです。隠されたスイッチはどこかにありますか?ペン先のファイル設定、ペン先、それを説明できるView Controllerのソースコードには何も見つかりませんでした。

答えて

7

iOSには大文字と小文字が区別されるため、大文字と小文字が区別されます。

ビルド対象のペン先が有効になっていることを再度確認します。

loadViewメソッドがないことを確認してください。

チェックthe default handling for the nibName property

+0

これは問題を発見したようです:自動nib読み込みが動作しなかったビューコントローラは、Three20フレームワークのTTViewControllerのサブクラスでした。 TTViewControllerがloadViewメソッドをオーバーライドすると、自動的にnibローディングが停止するようです。 したがって、1つの解決策は、loadViewメソッドを自分でオーバーライドすることです。 - (void)loadView { [super loadView]; NSString * nibName = NSStringFromClass([self class]); [[NSBundle mainBundle] loadNibNamed:nibName所有者:自己オプション:nil]; } – Raphael

0

また、あなたが上initを呼び出しているカスタムクラスがnilnibNameで自身を呼び出す以外の何かをするinitを実装していないかどうかを確認します。

0

nibファイルを自動的にロードする場合は、UIViewControllerをオーバーライドしないでください。

関連する問題