В вашем примере, вероятно, происходит то, что в обоих файлах пера вы устанавливаете выход view
.Затем происходит то, что второй загруженный файл пера перезапишет значение свойства view
, установленное первым файлом пера:
@implementation SubViewController
- (void) loadView
{
[super loadView];
// at this point, self.view points to the view loaded from
// ApplicationViewController.nib
[[NSBundle mainBundle] loadNibNamed:@"SubViewController"
owner:self options:nil];
// but at this point, self.view is overwritten with the view from
// SubViewController.nib
}
...
@end
Итак, вы можете сделать следующее: в вашем классе SubViewController объявитедругой выход, скажем так:
@property (nonatomic, retain) IBOutlet UIView* viewForSubController;
//you can probably think of a better name for it.
и в вашем xib-файле не установлено свойство view
, а вместо него установлен viewForSubController
.А затем в loadView
сделайте что-то вроде:
@implementation SubViewController
- (void) loadView
{
[super loadView];
// at this point, self.view points to the view loaded from
// ApplicationViewController.nib
[[NSBundle mainBundle] loadNibNamed:@"SubViewController"
owner:self options:nil];
// now, self.viewForSubController points to the view loaded from
// SubViewController.nib
// so now we can do this:
[self.view addSubview: self.viewForSubController];
}
...
@end
Или что-то в этом роде.