presentModalViewController обнаруживает завершение анимации - PullRequest
3 голосов
/ 18 марта 2012

Я заметил, что iOS 5 представила дополнительные параметры и способы определения, когда анимация представления контроллера представления завершена.

Есть ли способ сделать это в более ранних версиях, таких как iOS 4.x?

Я использовал presentModalViewController для представления контроллера, и я заметил, что вы не можете вызвать метод dismiss, если анимация не завершена.

Итак, как я могу определить, когда анимация завершена, и затем я могу закрыть ее?

Ответы [ 3 ]

1 голос
/ 19 марта 2012

Я только что попытался отклонить модально представленный VC в viewDidLoad, viewWillAppear и viewDidAppear. На первых двух играх нет, но увольнение работает в viewDidAppear. (В некотором смысле имеет смысл вызывать его после анимации).

И, вы, вероятно, уже знаете это, но в случае, если вы этого не сделаете: вам не нужно отстранять модально представленный VC от VC, который его представил. Ваш VC «жду сеть» может проверить состояние соединения в viewDidAppear и прекратить сам, если соединение установлено.

0 голосов
/ 19 марта 2012

Это просто что-то, что говорит "подождите, пока я делаю сетевой запрос"? Возможно, вы могли бы использовать для этого представление (полноразмерное, прикрепленное к keyWindow) вместо целого контроллера представления. ВК, запускающая сетевой запрос, может представить представление и удалить его с любой понравившейся вам анимацией. У меня есть класс, который делает это. Дайте мне знать, если вы хотите попробовать, и я вставлю это.

0 голосов
/ 19 марта 2012

Нет точного способа сделать это - лучшее, на что вы можете надеяться, это использовать viewDidDisappear: из представленного контроллера представления.Убедитесь, что вы используете логическую переменную экземпляра, чтобы определить, исчезаете ли вы из-за того, что контроллер модального представления присутствует, или по какой-то другой причине.iOS 5 и выше.Подавляющее большинство людей обновились, а остальные пройдут через несколько месяцев;просто нет причин поддерживать iOS 4 для новых проектов.

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