アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


iOS7以降、UITableViewCellのsuperviewはUITableViewではない

iOS6までは、UITableViewCellのsuperviewはUITableViewでした。
が、iOS7から

UITableView -- UITableViewWrapperView -- UITableViewCell

という構造になったみたいです。

UITableViewCell内から、UITableViewを参照するような
作りをしていたものがあったので、
とりあえず応急処置。

iOS6以前

UITableView *tableView =   (UITableView *)self.superview;

iOS7以降

UITableView *tableView =   (UITableView *)self.superview.superview;

でも self.superview.superview ってオブジェクト指向的にはあんま良くなさそう。
何かいいやり方あったら教えていただけると幸いです。

参考

iOS7 で UITableViewCell の深度を変更する時に気をつけること

http://blog.dealforest.net/2013/10/becareful_change_depth_uitabelviewcell_ios7/