1. ホーム
  2. ios

[解決済み] <UITabBarController: 0x197870> の外観遷移の開始/終了の呼び出しがアンバランスである。

2022-02-06 16:54:17

質問

他のユーザーが同じようなことに遭遇しているのをSOで読みました。 エラー しかし、このエラーは別のケースです。

最初にView Controllerを追加したときに、このメッセージが表示されました。

Unbalanced calls to begin/end appearance transitions for 
<UITabBarController: 0x197870>

アプリの構成は以下の通りです。

5つのタブTabBarControllerを5つのView Controllerにリンクさせました。最初に表示されるタブでは、アプリの紹介として新しいView Controllerを呼び出してオーバーレイするようにしています。

このコードで導入用ビューコントローラを呼び出しています。

IntroVC *vc = [[IntroVC alloc] init];
[self presentModalViewController:vc animated:YES];
[vc release]; 

この後 IntroVC ビューコントローラが表示されると、上記のエラーが表示されます。

p.s. xCode 4.2 & iOS 5.0 SDKを使用し、iOS 4.3アプリを開発しています。

解決方法を教えてください。

周囲のコードをもっと見てみないと明確な答えは出せませんが、2つの説があります。

  1. を使用していません。 UIViewController 's 指定イニシャライザー initWithNibName:bundle: . の代わりに、これを使用してみてください。 init .

  2. また self は、タブバーコントローラのビューコントローラのいずれかである可能性があります。ビューコントローラは常に最上位のビューコントローラから提示します。つまり、この場合はタブバーコントローラにオーバーレイビューコントローラを代理で提示するように依頼します。実際のビューコントローラへのコールバックデリゲートを保持することは可能ですが、タブバーコントローラの提示と解除が必要です。