Я думаю, что мне не хватает чего-то фундаментального, и поэтому я хочу попросить сообщество помочь. Я создаю приложение на основе базового приложения для iPhone. Мой MainView и FlipsideView имеют некоторые общие элементы, поэтому я создал отдельные ViewControllers и nib-файлы для этих частей. Для этого я сделал следующее:
1. Создал viewcontroller с именем searchDateViewController, который является владельцем файла searchDateView.xib
2. searchDateView.xib - это, по сути, UIView с UILabel внутри, представление подключено правильно
3. Внутри MainViewController.m и FlipsideViewController.m я добавляю подпредставление следующим образом:
- (void)loadView{
[super loadView];
searchDateViewController = [[SearchDateViewController alloc] initWithNibName:@"SearchDateView" bundle:nil];
[[searchDateViewController view] setFrame:[searchDateView frame]];
[[self view] addSubview:[searchDateViewController view]];
...
}
Все отображается и работает просто отлично. В основном, в зависимости от действий, которые происходят в каждом из основных и оборотных видов, изменяется UILabel пера. Однако я хотел сделать что-то немного другое, если searchDateViewController загружается из MainView или FlipsideView. Однако я не могу понять, какой ViewController добавляет подпредставление searchDateViewController.
В searchDateViewController я пытался:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"superview %@", self.view.superview);
NSLog(@"parentviewcontroller %@", self.parentViewController);
}
В обоих случаях я получаю ноль.
Так что мой вопрос - могу ли я узнать, какой ViewController добавляет searchDateViewController в подпредставление? Если так, то как? Или, если моя логика здесь полностью испорчена, как мне это сделать?
Спасибо!