私はUIViewControllerを新しいクラス、PageViewControllerにサブクラス化しました(私は単純なブックアプリケーションを書いています)。 nibファイルから読み込んだ新しいビューを追加したいと思い、次のコードを使用しています。できます。私のUIViewControllerサブクラスでinitWithNibNameが機能しないのはなぜですか?
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]を設定し、単にデフォルトでました。
私が試したこと: Page1 nibファイルで、私はPageViewControllerとUIViewControllerの間でFile Ownerクラスを変更しようとしました。はい、その後、ビューアウトレットに接続することを思い出しました。
助けてください!私は困惑している。
エラーの可能性がありますそれは単にデフォルトだ – oxigen
あなたオーバーライドinitWithNibName方法である: - (ID)initWithNibName:nibNameOrNilバンドル:(自己= [スーパーinitWithNibName場合(NSBundle *)nibBundleOrNil { :(NSStringの*)nibNameOrNilバンドル:nibBundleOrNil]){ //カスタム初期化 \t \t NSLog(@ "In pageviewcontroller custom init"); } return self; } – niels