Разница между presentModalViewController и presentViewController? - PullRequest
24 голосов
/ 03 декабря 2011

В iOS 5 SDK есть два метода UIViewController: presentModalViewController: animated: и presentViewController: animated: завершение :.

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

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

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

Функционально ли они одинаковы?

Ответы [ 2 ]

24 голосов
/ 03 декабря 2011

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

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

13 голосов
/ 14 марта 2012

Еще одним важным примечанием является то, что 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...