Ничто не работает, чтобы удалить UIViewController с экрана - PullRequest
1 голос
/ 28 ноября 2011

У меня есть модальный вид с кнопкой, и по щелчку я добавляю полноэкранный вид контроллера.В ios 4.3 sdk было отклонено, когда я попросил (и с методами контроллера push / pop и с present / dismiss modalViews) В новом ios 5 sdk он не может выйти, parentViewController моего viewController равен нулю, и я застрял.Любые предложения?

Добавление кода:

 myTypeController* vc = [[myTypeController alloc] initWithSomeData:myData];
 vc.hidesBottomBarWhenPushed = YES
//This way  
//[self.parentViewController presentModalViewController:vc animated:NO];
//Or that
 [self.parentViewController.navigationController pushViewController:vc animated:YES];
 [vc release];  

И обычные способы его удаления

 [self.parentViewController dismissModalViewControllerAnimated:YES];

или [self.navigationController popViewControllerAnimated: YES];

Ответы [ 2 ]

3 голосов
/ 28 ноября 2011

iOS 5 требует, чтобы вы использовали представляющий ViewController:

if ([currentView parentViewController] != nil)
{
    // iOS 4
    self.isDismissingView = YES;
    [[currentView parentViewController] dismissModalViewControllerAnimated:animated];
}
else if ([currentView presentingViewController] != nil)
{
    // iOS5
    self.isDismissingView = YES;
    [[currentView presentingViewController] dismissModalViewControllerAnimated:animated];
}

Более подробная информация здесь: http://omegadelta.net/2011/11/04/oh-my-god-they-killed-parentviewcontroller/

1 голос
/ 28 ноября 2011

Используйте следующий код, чтобы закрыть модальное представление

[self dismissModalViewControllerAnimated:YES];
...