私は何か本当にトリッキーなことをしようとしていますが、私はまだ一点で立ち往生しています。他のNibファイルと他のUIViewController
から継承したNibファイルでUIViewController
をインスタンス化しようとしています。
問題は、私が息子UIViewController
をインスタンス化するときです。 super class
を呼ぶが、それは唯一、独自のnibファイルを呼び出す必要がありinitWithNibName:bundle:
Nibファイルと継承を使用したUIViewController
// SonViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:nibNameOrNil
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
initメソッド。それだけのinit
// MotherViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:@"MotherViewController"
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
とMother Class
とそのIBオブジェクトを表示:スーパークラスでは、私はinitWithNibName:bundle:
メソッドをオーバーライドし、そのようnibName自分自身を入れてみました。私は理由を理解していますが、私は自分がしたいことをすることは不可能だと考え始めます。なにか提案を ?
編集:私はちょうどそのように私SonViewControllerを使用し
:
SonViewController *son = [[SonViewController alloc]
initWithNibName:@"SonViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:son animated:YES];
[son release];
それは息子と母IBオブジェクトを表示する必要があります...
よろしく、
kl94
あなたが言ったように、これは非常に古い投稿です。しかし、あなたのおかげで、私は2つのxibを持つ2つのビューコントローラを作成し、一方を他方から継承する方法を知っています。ありがとう – klefevre