Próbuję zrobić coś naprawdę podstępnego i nadal tkwię w punkcie. Próbuję wstawić plik UIViewController
z plikiem Nib odziedziczonym po innym pliku UIViewController
z innym plikiem Nib.
Problem polega na tym, że tworzę instancję mojego syna UIViewController
.UIViewController with Nib File and Inheritance
// SonViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:nibNameOrNil
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
Sposób startowych initWithNibName:bundle:
powinna wywołać super class
ale to tylko zadzwonić własny plik nib. W super klasy, starałem się zastąpić metodę initWithNibName:bundle:
i umieścić nibName sobie tak:
// MotherViewController
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:@"MotherViewController"
bundle:nibBundleOrNil])) {
// Custom initialization.
}
return self;
}
To tylko startowy i wyświetlić Mother Class
i jego IB Object. Rozumiem, dlaczego, ale zaczynam myśleć, że niemożliwe jest robienie tego, co chcę. Jakieś sugestie ?
Edit:
użyłbym mój SonViewController właśnie tak:
SonViewController *son = [[SonViewController alloc]
initWithNibName:@"SonViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:son animated:YES];
[son release];
Powinno wyświetlić syn i matka IB Object ...
Pozdrowienia,
kl94
Jak już powiedziałeś, jest to bardzo stary post. ALE teraz, z twojego powodu, ja/wiemy, jak stworzyć 2 kontrolery widoku z 2 xib i uczynić je dziedziczącymi od drugiego. Dziękuję – klefevre