objective-c/objcUITableViewの行選択時のハイライトって普通にUITableViewControllerを使っているときは問題ないのですが、うっかりviewWillAppear:メソッドをオーバーライドしたりUIViewControllerを使ったときなんかにハイライトが解除されなくて困ることがよくあります。Store登録時にリジェクト喰らうこともあるらしいのでそんなことにならないように行選択時のハイライトについてまとめてみました。UITableViewControllerを継承してUITableViewを使う時に気をつけることUITableViewControllerのviewWillAppear:メソッドにはハイライト解除の処理が定義してあります。viewWillAppear:メソッドをオーバーライドするときは必ず親クラスのviewWillAppear:メソッドを呼ぶようにしましょう。viewWillAppear:animated];の1行を忘れるとハイライト解除されません。@"Hoge";}@endUITableViewControllerを継承せずにUITableViewを使う時に気をつけることUITableViewControllerを継承せずにUIViewControllerを継承してUITableViewを使うことがあります。その場合UITableViewControllerでやってくれていたハイライト解除処理を自分で実装してやらないといけません。UITableView#deselectRowAtIndexPath:animated:メソッドを呼べばハイライトが解除されます。deallocメソッド省略...@endハイライトさせたくないときUITableViewを表示専用で使う場合はハイライトさせたくないものです。そんな時はUITableViewCellのselectionStyleにUITableViewCellSelectionStyleNoneを設定してやればOKです。cell;}また画面遷移はしないけど行を選択したときに何かアクションが発生する場合(行チェックとか)はtableView:didSelectRowAtIndexPath:メソッドでハイライトを解除してやればOKです。いう英英辞書アプリを開発しました。アプリ開発を初めてはや2年。(7)はてなブログをはじめよう!glass-_-onionさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。