IOS 5 SDKには、UIViewControllerのメソッドとしてpresentModalViewController:animated:とpresentViewController:animated:completion:の2つがあります。
これら2つの方法の違いは何ですか?
ドキュメントは言う:presentViewController:animated:completion:メソッドは、iOS 5.0でモーダルビューを表示するための推奨される方法です。
IOS 5でpresentModalViewController:animatedを使用すると、バグが発生しますか?
それらは機能的に同じですか?
彼らはApple documentation が指摘するのと同じことをしているようです、iOS 5.0以降、presentViewController
はビューコントローラを提示するための推奨される方法です。そのpresentViewController
では、完了ハンドラを使用できるようになりましたが、以前はそれがありませんでした。
また、すべての古いアプリで問題となり、後方互換性が非常に低いバグが発生した場合、iOS 5.0では古いpresentModalViewController
は問題ありません。さらに、presentViewController
を使用すると、presentingViewController
、presentedViewController
プロパティがあるため、viewController階層に関する詳細情報を取得できるようになりました。
別の重要な注意点は、UIKitフレームワークのUIViewController.h(Xcodeバージョン4.3.1)で述べられているように、presentModalViewControllerは将来廃止される予定です。
// 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;