なぜ私のUIViewControllerサブクラスのための作業をinitWithNibNameないのですか?

StackOverflow https://stackoverflow.com/questions/1068368

質問

私は、新しいクラス、PageViewController(私は簡単な本のアプリを書いている)へのUIViewControllerをサブクラス化しています。私は、nibファイルからロードされた新しいビューを追加すると、次のコードを使用しています。それは動作します。

PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
私はPageViewController上のallocを呼び出すべきであるので、

しかし、最初の行は間違っています。私は(下)それを修正すると、コードがコンパイルされますがXIBファイルがロードされないとビューだけで透明である。

    PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

PageViewController initWithNibName方法は、コメントを解除されていると自己= [スーパーinitWithNibName:nibNameOrNilバンドル:nibBundleOrNil]を設定し、単にデフォルトでいます。

私がしようとしているもの: ページ1のnibファイルでは、私はPageViewControllerとのUIViewControllerの間でファイル所有者クラスを変更しようとしています。はい、私は後でビュー口に戻ってそれを接続するために覚えています。

ヘルプ、してください!私は困惑しています。

役に立ちましたか?

解決

あなたはPageViewControllerでloadViewメソッドをオーバーライドしていますか? あなたがviewController1.viewをのNSLog場合はどうなりますか?

確かに、Interface Builderで、あなたはPageViewControllerへのファイルの所有者を設定し、あなたがInterface Builderで持っているビューに、そのビューを接続する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top