UITableViewCell セルの再利用の問題
設定画面に他の自作アプリ情報を加えたりしようと思い、UITableViewController で1行だけセルの高さを変更したり、画像を追加したりしたところ、スクロールするとおかしな表示になってしまう。
おかしいので調べていたところ、セルの再利用により再利用できないものを再利用してしまっていたらしい。具体的には、dequeueReusableCellWithIdentifierなどに渡すstaticなCellIdentifier をセルごとに変えるべきだったところを同じにしてしまっていたためだった。
iPhoneのオモチャ箱 P299によると、下記の要素が異なる場合、異なるものとして定義する必要がある。
- UITableViewCellStyle
- 画像の有無
- 各テキストの有無
- 画像の幅、高さ
- セルの高さ
- 背景の色
- テキストのフォントの設定
- アクセサリービューの種類
これによると、結構こまめに変えないといけないようだ。今までよくこれを知らないで実装できていたものだ。
自分の場合のように、行数が少なくてReuseするほどでもなければ、dequeueReusableCellWithIdentifier をしないという手もある。
これにより、本当は流用できない行を流用してしまう問題を回避することができる。
iPhoneのオモチャ箱には非常に丁寧に詳しくUITableViewの使い方が書かれている。
iPhoneのオモチャ箱 iPhone SDKプログラミング | |
![]() |
徳井 直生 岡村 浩志 笠谷 真也 深津 貴之 青木 太臣 大宮 聡之 瀬尾 浩二郎 バスケ 宮川 義之
ワークスコーポレーション 2010-06-22 おすすめ平均 |
関連記事
-
-
View-Based Application に UINavigationController を追加する方法その2
今回はSkitchを使ってキャプチャ画像を貼ってみた。キャプチャだとコードがコピペできないが...
-
-
[iPhone 6 Plus] カラビナ付きケースを買ってみた
iPhone5 はカラビナ付きケースに入れて腰に下げていたのだが、まだiPhone 6 Pl
-
-
iPad2 を iOS5 にアップデート
iOS5 はまだ不安定な印象があったので、iPod touch 4th に入れただけで様子を見ていた
-
-
“I think the stainless steel looks beautiful when it wears” from The Perfect Thing
傷が付きやすいと言われている iPhone 7 ジェットブラック。ケースを付けるか迷ったら、下記
-
-
iPhone/Androidアプリで週末起業(山崎潤一郎著) を読んでみた。
前著を読んで、ちょっと楽観的に書きすぎていると思ったけれどもとりあえず最新版が出たので読んでみた。
-
-
iPad mini 用透明ハードケース eggshell for iPad mini
iPad mini 用にハードケースを購入した。 iPad 用ケー
-
-
Androidアプリ紹介本 「Androidアプリ事典512」
Androidアプリにどんなものがあるのかをほとんど知らない しかしAndroidマーケ
-
-
iPhone 3G/3GS用ホルダーケース レイアウト RT-P2LC3 カラビナつき
カバンを持っていないときに、iPhoneをジーパンのポケットに入れておくのはちょっと不安。 なの
-
-
iPhone から au 公式スパムメールを止める
hotinfo@himail.ezweb.ne.jp からau公式スパムが何度も届くので、重い腰を上
-
-
[iOS SDK] 文字列をローカライズする際に使える awk スクリプト
iOSで文字列をローカライズする際に Localizable.strings ファイルに "ロ