ti-enxame.com

Diferença entre presentModalViewController e presentViewController?

No SDK do iOS 5, existem dois métodos do UIViewController, presentModalViewController: animated: e presentViewController: animated: conclusão :.

Qual é a diferença entre esses dois métodos?

A documentação diz: O método presentViewController: animated: conclusão: é a maneira preferida de apresentar uma exibição modal a partir do iOS 5.0.

Se eu usar um presentModalViewController: animado no iOS 5, ele causará um erro?

Eles são funcionalmente iguais?

24
YuAo

Eles parecem fazer a mesma coisa que Apple documentação aponta, a partir do iOS 5.0 presentViewController é a maneira preferida de apresentar os controladores de exibição, parece que presentViewController agora permite que você tenha um manipulador de conclusão, enquanto antes você não o possuía.

E nenhum presentModalViewController mais antigo deveria funcionar bem no iOS 5.0, se causasse um bug que seria um problema para todos os aplicativos mais antigos e não seria muito compatível com versões anteriores. Além disso, parece que agora com presentViewController você pode obter muito mais informações sobre a hierarquia do viewController, pois temos as propriedades presentingViewController, presentedViewController.

24
Daniel

Outra observação importante é que o presentModalViewController será descontinuado no futuro, conforme mencionado no UIViewController.h da estrutura do UIKit (Xcode versão 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;
13
Dat Nguyen