23

iOS 6をアップデートし、iOS4.3で作成された古いコードを実行しました。彼らは私のアプリケーションで私に警告の数を与えます。

使用presentModelViewController:してから却下しましたが、警告が表示されました

dismissModalViewControllerAnimatedは、iOS6で最初に非推奨になりました。

なぜ彼らはそのコードに警告を表示するのですか?コードは次のとおりです。

[picker dismissModalViewControllerAnimated:YES];

この行は黄色になり、エラーを示します。警告を削除するためのガイドラインを教えてください。

4

3 に答える 3

60

今ios 6で使用できます

[[Picker presentingViewController] dismissViewControllerAnimated:YES completion:nil];

それ以外の

[[Picker parentViewControl] dismissModalViewControllerAnimated:YES];

[self presentViewController:picker animated:YES completion:nil];

それ以外の

[self presentModalViewController:picker animated:YES];
于 2012-10-04T08:59:18.310 に答える
4

展開ターゲットが iOS 6 に設定されている場合にのみ、非推奨の警告が表示されるはずです。そのため、おそらく Xcode のデフォルトに設定されている展開ターゲットを確認します。これを 4.3 に変更すると、非推奨の警告は表示されなくなります。

于 2012-10-04T14:00:19.137 に答える
2

を使用できますdismissViewControllerAnimated:completioniOS 開発者ドキュメントから

disconnectViewControllerAnimated:completion:

受信者によって提示されたビュー コントローラーを閉じます。- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion パラメータ

国旗

Pass YES to animate the transition. completion

A block called after the view controller has been dismissed.

討論

提示元のビュー コントローラーは、提示したビュー コントローラーを破棄する責任があります。提示されたView Controller自体でこのメソッドを呼び出すと、メッセージが提示元のView Controllerに自動的に転送されます。

複数のビュー コントローラーを連続して提示し、提示されたビュー コントローラーのスタックを構築する場合、スタックの下位にあるビュー コントローラーでこのメソッドを呼び出すと、その直接の子ビュー コントローラーと、スタック上のその子の上のすべてのビュー コントローラーが破棄されます。これが発生すると、最上位のビューのみがアニメーション形式で閉じられます。中間のView Controllerはスタックから単純に削除されます。最上位のビューは、そのモーダル遷移スタイルを使用して閉じられます。これは、スタック内の下位にある他のビュー コントローラーで使用されるスタイルとは異なる場合があります。

レシーバーの表示されたビュー コントローラーへの参照を保持する場合は、このメソッドを呼び出す前に、presentedViewController プロパティで値を取得します。

完了ハンドラーは、表示されたビュー コントローラーで viewDidDisappear: メソッドが呼び出された後に呼び出されます。可用性

Available in iOS 5.0 and later.
于 2012-09-28T21:18:36.410 に答える