presentModalViewController не работает, если вызывается слишком рано - PullRequest
3 голосов
/ 14 октября 2010

Если я отклоняю модальный ВК и представляю его (или другой) снова менее чем через некоторое время, он не появляется. Я что-то упустил?

Ответы [ 2 ]

8 голосов
/ 14 октября 2010

Да, вы не можете этого сделать.Я предполагаю, что вы сделали что-то вроде этого:

 [self dismissModalViewControllerAnimated:YES];
 [self presentModalViewController:myNewController animated:YES];

Это не работает.Я не знаю точно, почему, но я думаю, это связано с анимацией.Вы можете либо отклонить первый без анимации, либо подождать, чтобы представить новый в viewDidAppear родительского элемента (или, возможно, viewDidDisappear для предыдущего модального представления, хотя не уверен, что это работает).

0 голосов
/ 14 октября 2010

Вы не можете отклонить два контроллера модального вида сразу за другим, кроме того, что предложил другой автор, вы можете немного подождать, прежде чем отклонить другой модальный вид, например

[self performSelector:@selector(method) withObject:nil afterDelay:.5];

где вызываемый метод просто отклоняет ваше другое модальное представление. Фрагмент кода выполняет селектор через 0,5 секунды и может использоваться при возникновении проблем с синхронизацией анимации, подобных описанной вами, для разделения времени вызова для их правильного выполнения.

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