iPhoneアプリをiPadに移植中です。電話のレイアウトは 3 つのタブを持つタブ バーであり、そのうちの 2 つには、ユーザーがテーブル ビュー階層をドリルダウンするためのナビゲーション コントローラーが含まれています。
ただし、iPad では、ナビゲーションは横向きモードで期待どおりに機能しますが、ポップオーバー内から縦向きでテーブル ビュー階層をドリルダウンすることはできません。ルート テーブル ビューは正常に表示されます (もちろん nib でインスタンス化されます) が、子ビューはデータなしで表示されます。
子テーブル ビュー コントローラーは正常にインスタンス化されますが、デリゲート メソッド tableView:cellForRowAtIndexPath: は呼び出されません。階層のさらに下にあるときに縦向きに回転すると、逆方向に移動できるため、ビューコントローラーをスタックからポップすることは問題ではないようです。
私は本当にこれに頭を悩ませています。ビュー コントローラー ビューは表示されます (viewDidAppear が呼び出されます) が、テーブル ビュー セルにデータを入力するデリゲート メソッドは起動しません。
Xcode の分割ビュー テンプレートから始めました。これにより、正しい方法で簡単に接続できるはずです。
これに関するヘルプは大歓迎です。
乾杯、
Gregor Tomasevic スウェーデン
更新: viewDidAppear: で [self.view reloadData] を呼び出すことにより、子ビューのデータを縦向きに表示することができます (ただし、viewWillAppear: ではありません)。ただし、これはビューが所定の位置にスライドした後にのみデータを表示します。これは、ユーザーが期待する動作ではありません。奇妙なことに、ランドスケープでも期待どおりに機能します。私、私は今、少し高いレベルで混乱しています。ヒントはありますか?
Update2: シミュレーターのバグかもしれません。デバイス上で問題なく動作するようです。