ViewControllers, где предназначено для использования всего экрана, поэтому этот случай не должен происходить.Тем не менее, очень часто вам требуется несколько сложных взаимодействий пользователей внутри ваших представлений (особенно в iPad), чтобы рассмотреть возможность использования контроллера представления с некоторыми дочерними контроллерами представления, которые инкапсулируют эту логику, как вы объяснили выше.
Что я вам предлагаюэто реализовать его по коду.Вы можете использовать что-то вроде:
- (void) viewDidLoad {
// Создать контроллеры представления viewController1_ = [[ViewController alloc] initWithNibName: @ "View1" andBundle: nil];viewController2_ = [[ViewController alloc] initWithNibName: @ "View1" andBundle: nil];viewController3_ = [[ViewController alloc] initWithNibName: @ "View1" andBundle: nil];
// Добавить представления в основной вид [self.view addSubview: viewController_1.view];[self.view addSubview: viewController_2.view];[self.view addSubview: viewController_3.view];
// TODO: Может быть, установить подходящие кадры?
}
Будьте осторожны с обходом события.Поскольку вы встраиваете свои вторичные контроллеры представления в основной, ни одно из стандартных событий не будет передано вашим дочерним контроллерам (например, viewWillAppear, shouldAutorotate, ... не будет получено вашими дочерними контроллерами).Не забудьте обойти их явно, если они вам нужны в ваших дочерних viewcontrollers.
Если ваши представления не были правильно созданы с использованием IB, убедитесь, что у вас нет проблем с этой проблемой обхода событий.
Надеюсь, чтопомогает!