Откройте новый вид на iPad и закройте существующий вид. - PullRequest
1 голос
/ 13 мая 2011

У меня на iPad открыто представление (View1, назначенное View1Controller). Как я могу заставить его открыть View2 (View2Controller) и закрыть себя ... Я уверен, что это очень просто, но я управляю всплывающими окнами и не могу найти что-то настолько простое. Анимированный переход будет предпочтительнее, если это возможно.

Спасибо за вашу помощь

1 Ответ

2 голосов
/ 13 мая 2011

Вот примерный план того, как это можно сделать.

Предположим, у вас есть свойства в AppDelegate, которые называются viewController1 и viewController2 (это должно быть nonatomic, retain, чтобы упростить управление памятью).

Если вы хотите переключиться с viewController1 на viewController2, вам нужно удалить, чтобы сделать следующее

// Remove the old view
[self.viewController1.view removeFromSuperView];
// Release it's controller (just to economize on memory)
self.viewController1.view = nil;
if(self.viewController2 == nil)
{
    // Load the new controller from it's NIB/XIB
    ViewController2* vc2 = [[ViewController2 alloc] 
                                 initWithNibName:@"ViewController2" 
                                 bundle:nil];
    // Assign it to property & release to keep memory management clean
    self.viewController2 = vc2;
    [vc2 release];
}
// Add the new view controller to the window
[self.window addSubview:vc2];

Один из самых простых способов сообщить AppDelegate о переключении представлений - это использовать центр уведомлений.

Поскольку вы сохраняете контроллеры представления в свойствах, не забудьте освободить их в вашем dealloc. Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...