Я хочу реализовать свой собственный контроллер представления контейнера. Пожалуйста, представьте, что это мой айпад
Вид обычного контроллера разделенного представления, но я хочу его расширить: ширина представления "a" должна изменяться, когда я нажимаю представление "B" - представление "C" переходит в видимую область
Например, в моей раскадровке у меня есть 3 представления контейнера: AViewController (для представления), BViewController, CViewController и один комбинированный контроллер представления (начальный контроллер представления). В комбинированном контроллере представления я буду внедрять переходы из представления контейнера и инициализировать отношения между представлениями контейнера с помощью следующего кода:
@property ... *aViewController,*bViewController,*cViewController;
- (void)prepareForSegue:(UIStoryboardSegue *)segue
sender:(id)sender
{
if ([segue.identifier isEqualToString:@"EmbedAViewController"])
{
self.aViewController =
segue.destinationViewController;
}
if ([segue.identifier isEqualToString:@"EmbedBViewController"])
{
self.bViewController=segue.destinationViewController
}
-(void)viewDidLoad
{
[super viewDidLoad];
self.aViewController.bViewController=self.bViewController;
}
Вопрос 1. Правильно ли реализовать мое задание с помощью раскадровки? Вопрос 2. Какие ограничения есть у контейнерного представления? Это визуальная замена API addChildViewController? Если нет, то где я должен реализовать детско-родительские отношения? Я должен использовать в своем комбинированном контроллере представления в методе prepareForSegue
[self addChildViewController:aViewController];
[self.view addSubview:aViewController.view];
Вопрос 3: как поместить представление контейнера за пределы видимой области в начале?
Если я где-то ошибся или имею большое непонимание базовых понятий, не бейте меня. Я много гуглил, буду очень признателен за любую помощь. Заранее большое спасибо!
Изменить:
Я хочу установить отношения между ними всеми. Содержимое представления «B» зависит от «A», а содержимое представления «C» зависит от «B».