2010-12-21 6 views
1

UITableViewControllerの使用を避けるべきであると述べている多数の投稿があります。ますます私は欲しがるが、アプリケーション全体に結びついたCoreDataTableViewControllerスーパークラスを使用しており、すべてを書き直す時間がない。UITableViewControllerはカスタム実装でスクロールしません

もちろん、UITableViewControllerのビューは画面全体(iPadプロジェクト)を占めるべきではないので、通常のUIViewインスタンスのサブビューとしてかなりの大きさに設定されています。それは奇妙なことが起こり始めるときです。

私のカスタムクラス(GroupsTableViewController-> CoreDataTableViewController-> UITableViewController)が、すべて正常に動作していたテストプロジェクトから、私の現在のプロジェクトにコピーされました。私は/ initとaddSubviewビューを割り当てます。

最初はテーブルが空になります。何がありますか? viewWillAppear:メッセージは送信されません。何?さて、私は手動で呼びます(この時点で、私はすでに自分自身を疑うようになっています)。次に、テーブルは実際にコンテンツで満たされていますが、インタラクティブ機能はすべて失われています。タップ、スクロールなし。

私はuserInteractionEnabledをすべて設定してみましたが、結果はありませんでした。これはn00bものです、私は確信して、あまりにもばかばかしいです。しかし、ここで私は固執しています。

誰でも正しい方向に向けることができますか?私はどこかの代議員を忘れましたか?または未送信のメッセージですか?

答えて

2

実行中の問題の1つは、入れ子にされたUIViewControllerがviewWillAppear:などの適切なイベントを受け取らないことです。アップルのガイドラインによると、UIViewControllerは画面全体を塗りつぶし、部分ビュー(UITabBarController、UINavigationController、およびUISplitViewControllerの例外を除く)を表してはいけません。 GroupsTableViewControllerをメインコントローラとして設定してみてください(UINavigationController内にある場合は、プッシュしてください。スプリットビューで詳細ビューにするなど)。その場合は、いくつかのイベントがあなたの問題の原因を通過していない動作します。希望が助けてくれる!

+0

これらのガイドラインをより慎重に読んでください。ナッジに感謝します。それは実際に画面がいっぱいになる場合は機能しますが、画面の動的部分を埋めるための表が必要です。 UISplitViewControllerの幅は固定されているので、これもオプションではありません。私は私自身のUITableViewDataSource&〜DelegateでCore Dataの部分を書き直していくつもりです。 – epologee

関連する問題