マスター ディテール テンプレートの修正版を使用するアプリを開発中です。アプリはドキュメント ベースであるため、すべてのドキュメントを一覧表示するテーブル ビューで統計します。ドキュメントが選択されると、3 つのタブを持つタブ バーにスライドが表示されます。最初の 2 つのタブはテーブル ビューです。両方のテーブル ビューには、共通のカスタム スーパークラスを共有する独自のテーブル ビュー コントローラー クラスがあります。継承はUITableViewController
-> TMSTableViewController
->TMSExpensesTableViewController/TMSCategoriesTableViewController
. どちらのタブが最初に表示されても、ナビゲーション バーの下にテーブルが表示されます。ただし、ロードする 2 番目のタブは常にナビゲーション バーの下の画面上部から開始されるため、最初の行と半分が非表示になります。それがテーブル ビューの 1 つにすぎない場合は、コントローラーまたはビューに何か問題があると思いますが、実際には最初のタブのシーンを複製し、両方が同じコントローラーを実行していても、2 番目のタブはまだ一番上から開始されました。画面の。
iOS7 でバグを見つけましたか、それともタブ バーで複数のテーブル ビューを使用するときに行う必要がある奇妙なトリックはありますか?
各テーブルは、単一の Core Data エンティティ タイプを表示TMSTableViewController
し、フェッチされた結果コントローラーを処理するためのすべての共通コードと、ほとんどのテーブル ビュー コードも備えています。2 つのサブクラスの唯一のメソッドは、表示されるエンティティの種類に基づいてセルを適切に構成し、フェッチされた結果コントローラを適切なエンティティに設定し、必要に応じて適切な種類のエンティティを追加することです。