UITableViewCell セルの再利用の問題
設定画面に他の自作アプリ情報を加えたりしようと思い、UITableViewController で1行だけセルの高さを変更したり、画像を追加したりしたところ、スクロールするとおかしな表示になってしまう。
おかしいので調べていたところ、セルの再利用により再利用できないものを再利用してしまっていたらしい。具体的には、dequeueReusableCellWithIdentifierなどに渡すstaticなCellIdentifier をセルごとに変えるべきだったところを同じにしてしまっていたためだった。
iPhoneのオモチャ箱 P299によると、下記の要素が異なる場合、異なるものとして定義する必要がある。
- UITableViewCellStyle
- 画像の有無
- 各テキストの有無
- 画像の幅、高さ
- セルの高さ
- 背景の色
- テキストのフォントの設定
- アクセサリービューの種類
これによると、結構こまめに変えないといけないようだ。今までよくこれを知らないで実装できていたものだ。
自分の場合のように、行数が少なくてReuseするほどでもなければ、dequeueReusableCellWithIdentifier をしないという手もある。
これにより、本当は流用できない行を流用してしまう問題を回避することができる。
iPhoneのオモチャ箱には非常に丁寧に詳しくUITableViewの使い方が書かれている。
iPhoneのオモチャ箱 iPhone SDKプログラミング | |
徳井 直生 岡村 浩志 笠谷 真也 深津 貴之 青木 太臣 大宮 聡之 瀬尾 浩二郎 バスケ 宮川 義之
ワークスコーポレーション 2010-06-22 おすすめ平均 |
関連記事
-
iPhoneアプリ おんぷちゃん開発日記 iPad版をアップデート
iPhoneアプリサポートページ の方に書きましたが、4月30日にようやくiPad用のアップデート版
-
iPhone 5 用のケースと保護シートとジャケットを買ってみた
発売日翌日に16GB iPhone 5を入手できたので早速ケースと保護シートとジャケットを買ってみた
-
Kickstarter で iPhone/Android で使える腕時計 Pebble に出資してみた
Kickstarter で28時間で100万ドルを調達したという Pebble E-Pape
-
iPhone SDKプログラミング大全
大全というのは大げさで入門という感じの本だけれども一通りどんなことができるのかを知るという点では使え
-
iPad用ケース TUNESHELL for iPad
iPadは使ってないとき机の上に置くと意外に場所を取る。どう置くかは工夫のしどころだと思われる。 ま
-
Apple Special Event 2011
2011年は iPhone 4s が発表された。 https://japanese.enga
-
[買ってみた] 新しいAirPods
2019年3月20日に突如発表された、新しい AirPods を買ってみた。 新型「
-
OMNI OUTLINER and GRAFFLE活用ガイド 折中良樹
Macで図を描きたくてドロー系ソフトを探し、OmniGraffle体験版を使い、図を描いたら期限が切
-
MangaONEでARMS読み放題期間延長
MangaONE で2015/12/29まで皆川亮二氏の名作ARMSが読み放題、ということで暇をみ
-
[iOS SDK] ObjectAL で EXC_BAD_ACCESS発生
30日から休みだったので、年末は奥さんの実家に帰りつつ、2016年に取り組んでいたアプリの仕上げを行