StoryboardのTableView-Staticでセルが表示されない問題を解決する方法

このエントリーをはてなブックマークに追加
はてなブックマーク - StoryboardのTableView-Staticでセルが表示されない問題を解決する方法

iOS5 から導入された、 Storyboard のTableViewでのStaticモード。コードを書かなくても、Storyboard上でテーブルのセルを編集出来るのがいいですね。
それを使ってストリーボードを編集してアプリを作る際にいくらか制限がありました。その制限を守らないと、Storyboard上では編集出来るものの、実行するとセルが表示されないという問題があります。

これを正しく動かす方法です。

非常に基本的なのですが、

  • UITableViewController上にテーブルを配置する
  • UITableViewController上に配置して、メインのview=staticTableViewになる必要があります。

  • UITableViewを、サブクラス化したときは、そのサブクラスに、UITableViewDataSource, – Delegateメソッドを実装しない。
  • これでちょっと今日はまってしまったのですが、UITableViewControllerのサブクラスだったら大丈夫だと思っていたのですが、なかなかテーブルが表示されず、いろいろ試してやっと原因を発見しました。特に、
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    の中で、Storyboardを読んでデータを作成する処理を入れているようで、それが上書きされると正しく動かないようです。

    便利な機能ですが、エラーなどをはかないだけ、ちょっとたちが悪いですね。。。

    参考にしたページ
    ios – UITableView with static cells does not appear – Stack Overflow

    Comments

    comments

    Powered by Facebook Comments

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">