В контроллере вида вы можете создать розетку для другого контроллера. Все, что вам нужно сделать, это что-то вроде этого в том же файле пера в конструкторе интерфейса:
MainController UIViewController
->UIview UIView
ModalController UIViewController
->ModalControllerView UIView
в MainController.h, создайте выход для контроллера представления:
@property(nonatomic, retain) IBOutlet ModalController *ModalController
(и, конечно, вам нужен ивар, а также включить)
В Интерфейсном Разработчике подключите ModController ModalController к представлению ModalController, используя параметр перетаскивания или по вашему желанию.
При загрузке пера вам будет присвоено modalController установленный ModalController, а затем методы в MainController смогут получить доступ к modalController и делать с ним все, что захотят. Тогда вам просто нужно использовать presentModalView, чтобы представить его.
Я думаю, что более типичный способ сделать это так:
- (IBAction)showInfo {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
(Это прямо из шаблона проекта Utility Application в Xcode.)
Другими словами, создайте модальный контроллер и просмотрите его собственный файл пера, затем загрузите файл пера вручную при необходимости. Это более эффективно использует память, поскольку не создает экземпляр объекта до тех пор, пока он действительно не понадобится.
Нет также причины, по которой вы не можете просто сделать:
modalController = [[ModalViewController alloc] initWithNibName:@"ModalView" bundle:nil];
в методе mainDontroller viewDidLoad или initWithCoder или что-то еще, затем приступайте к его настройке так, как вы хотите.