なぜ私のUIViewControllerサブクラスのための作業をinitWithNibNameないのですか?
-
21-08-2019 - |
質問
私は、新しいクラス、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で持っているビューに、そのビューを接続する必要があります。
所属していません StackOverflow