Подтвердить что ты не робот

Разница между presentModalViewController и presentViewController?

В iOS 5 SDK существует два метода UIViewController, presentModalViewController: анимированный: и presentViewController: анимированный: завершение:.

Какая разница между этими двумя методами?

В документации написано: метод currentViewController: анимированный: завершение: предпочтительным способом представления модального представления с iOS 5.0.

Если я использую presentModalViewController: анимированный в iOS 5, это вызовет ошибку?

Являются ли они функционально-одинаковыми?

4b9b3361

Ответ 1

Они, похоже, делают то же самое, что и яблоко documentation указывает, что с iOS 5.0 presentViewController является предпочтительным способом представления что presentViewController теперь позволяет вам иметь обработчик завершения, тогда как раньше вы этого не делали.

И ни один из старых presentModalViewController не должен быть лучшим в iOS 5.0, если это вызвало ошибку, которая была бы проблемой для всех старых приложений и не была бы очень обратной совместимостью. Кроме того, кажется, что теперь с presentViewController вы можете получить намного больше информации о иерархии viewController, поскольку у нас есть свойства presentingViewController, presentedViewController.

Ответ 2

Еще одно важное замечание: presentModalViewController будет устаревать в будущем, как указано в UIViewController.h структуры UIKit (версия Xcode 4.3.1):

// Display another view controller as a modal child. Uses a vertical sheet transition if animated.This method has been replaced by presentViewController:animated:completion:
// It will be DEPRECATED, plan accordingly.
- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 

// Dismiss the current modal child. Uses a vertical sheet transition if animated. This method has been replaced by dismissViewControllerAnimated:completion:
// It will be DEPRECATED, plan accordingly.
- (void)dismissModalViewControllerAnimated:(BOOL)animated;