- iOS 5 シミュレーターまたはデバイスを使用してタブ付きのアプリを実行する
- モーダル ダイアログを表示する
- メモリの警告をシミュレートします (デバイスがメモリを集中的に使用する一部のアプリに移動する場合)
- 別のアプリに切り替える (まだ行っていない場合)
- アプリに戻る
- ダイアログを閉じる
空白の画面 (ウィンドウ) が表示されます。このバグ/問題を実証するテスト プロジェクト: http://github.com/chetanpungaliya/iOS-5-TestModal
空白の画面 (ウィンドウ) が表示されます。このバグ/問題を実証するテスト プロジェクト: http://github.com/chetanpungaliya/iOS-5-TestModal
私は今日これに出くわしましたが、iOS 5 のバグ以外の説明が見つかりません。少しハッキングした後、回避策を見つけました。モーダル ビュー コントローラーを閉じる前tabBarController.selectedIndex
に、別のビュー コントローラー インデックスに変更してから、もう一度元に戻します。
これは、 https://github.com/xjones/iOS-5-TestModalのプロジェクトのクローンで確認できます。これもプルリクエストとして提出しました。
編集:openradarレポートを追加
誰かが openradar にも投稿しています: http://openradar.appspot.com/10529236
私も同じ問題を抱えていて、修正しました。問題は、xib 経由で接続するアウトレットが viewDidUnload メソッドで nil に設定されていることです。このメソッドは、メモリ警告が発生したときに、現在表示されていないすべてのビューで呼び出されます。これらのビューに戻ると、それらの viewDidLoad メソッドが再度呼び出されます。これを修正する唯一の方法は、setNil メソッドを viewDIdUnload から dealloc メソッドに削除することであり、すべて正常に動作します。