0

dismissmodalviewの問題に遭遇しました。それは明らかにios6で減価償却されています。誰でも修正を提案できますか。このコードを試しましたが、それでも警告が表示されます。

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){

    [[self parentViewController] dismissModalViewControllerAnimated:YES];

} else {

    [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}

誰でも何か提案できますか。基本的に、ビューコントローラで使用しているモーダルビューを閉じようとしています。

エイドリアン

4

2 に答える 2

6

やってみました?私はこれを私のプロジェクトの1つで成功裏に使用しています。

[self dismissViewControllerAnimated:YES completion:nil];
于 2012-09-25T14:43:57.317 に答える
1

セレクターはiOS6で非推奨になり、使用しているため、警告が表示されます。iOS 5以降をターゲットにしている場合は、を使用しないでくださいdismissModalViewControllerAnimated:

本当に使用する必要がある場合は、次performSelector:のように呼び出すことができます。

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){  
    [[self parentViewController] performSelector:@selector(dismissModalViewControllerAnimated:) withObject:@YES];
}

アドバイスの言葉:ビューがそれ自体を閉じることは良い習慣とは見なされません。モーダルビューコントローラのデリゲートプロトコルを作成し、モーダルのデリゲートによってビューコントローラを提示する必要があります。

于 2012-09-25T16:33:53.813 に答える