16

私は 2つUIViewControllerのクラスを持っています。ここにFirstClassUIButtonfor Loginがあり、ユーザーがボタンをタップすると、表示されますSecondClass...そのために、

SecondClass *index = [[SecondClass alloc] init];
[self presentModalViewController:index animated:YES];

SecondClass には、FirstClassにリダイレクトするログアウトボタンがあります。

[self dismissModalViewControllerAnimated:YES];

SecondClass でログアウト ボタンを押すと、警告メッセージが表示されます

**Attempt to dismiss from view controller <FirstClass: 0e39w88e160> while a presentation or dismiss is in progress!**

ここで問題は何ですか..

4

3 に答える 3

31

iOS 6 と iOS 6 以前の両方の回答を追加しました。

iOS 5.0 以降

ログアウトするときは、閉じる前に次のチェックを追加します。

if (![self.presentedViewController isBeingDismissed])
{
    [self dismissModalViewControllerAnimated:YES completion:nil];
}

iOS 4.X 以下

閉じる前に次のチェックを追加します。

if (![[self modalViewController] isBeingDismissed])
{
    [self dismissModalViewControllerAnimated:YES];
}
于 2013-06-27T17:44:30.883 に答える
3

ログアウトしてから確認するこれらの行を呼び出します。

if (![[self modalViewController] isBeingDismissed])
{
   [self dismissModalViewControllerAnimated:YES];
}
于 2013-04-08T09:47:50.893 に答える