2つのUIViewController
クラスがあり、FirstClass
にはUIButton
for Loginがあり、ユーザーがボタンをタップするとSecondClass
...私がやったことのために、
SecondClass *index = [[SecondClass alloc] init];
[self presentModalViewController:index animated:YES];
SecondClassにはlogoutボタンがあり、-FirstClassにリダイレクトされます。
[self dismissModalViewControllerAnimated:YES];
SecondClassで[ログアウト]ボタンを押すと、警告メッセージが表示されます
**Attempt to dismiss from view controller <FirstClass: 0e39w88e160> while a presentation or dismiss is in progress!**
ここの問題は何ですか。
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];
}
ログアウトして確認する場所で次の行を呼び出します。
if (![[self modalViewController] isBeingDismissed])
{
[self dismissModalViewControllerAnimated:YES];
}
これには多くの原因があります。いくつかのオプションを次に示します。
問題をよりよく理解するために、両方のView Controllerのコード全体を貼り付けてください。