5

UIActionSheetをアプ​​リデリゲートから削除して、バックグラウンドから戻ったときに再び表示されないようにしようとしています。viewDidUnloadサブクラスViewControllerのまたはメソッドからアクションシートを閉じようとしましたviewDidDisappearが、アプリのバックグラウンドで呼び出されないようです。

したがって、アプリデリゲートを使用してUIActionSheet、アプリのバックグラウンド時に表示されている可能性のあるものを却下しようとしています。しかし、私は何を呼ぶべきか理解できません。誰かが解決策を持っていますか?または同じことを達成するためのより良いアイデア?

ありがとう。

4

2 に答える 2

4

@Dylanでできることは、uiactionsheet変数のプロパティを宣言し、それを合成することです。

次に、applicationDidBecomeActiveメソッドのappdelegateで、次のような操作を行ってdismissメソッドを呼び出すことにより、そのアクションシートを閉じることができます[viewController.actionSheet dismissWithClickedButtonIndex:0 animated:NO]。あなたがあなたのappdelegateに参照を持っていると仮定します。

ただし、そうでない場合は、uiwindowの上部に表示されているすべてのUIViewを見つけて、アクションシートを表示しているクラスのuiviewがあるかどうかを確認できます。その後、アクションシートを表示しているviewControllerを保持したら、上記と同じ操作を実行してアクションシートを閉じることができます。

于 2011-06-12T15:00:43.757 に答える
3

applicationDidBecomeActiveの方法で却下してみてくださいappDelegate

于 2011-06-12T02:56:00.623 に答える