UITableViewにフッタを付けて、表示されるタイミングであれこれしようと思い、delegateのこのメソッドを実装してみた。
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section
が、一向に呼ばれる気配がない。
どうなってんだと思って調べてみると、カスタムしたフッタなりヘッダを使ってる場合は呼ばれない模様。
具体的には、これを実装していると呼ばれない。
これで用が済むのでwillDisplayなんて必要ないだろ、というappleの心遣い。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
じゃあ、実際に willDisplayFooterView:forSection: はどう使うのかというと、これを実装した上で渡されるviewを直接いじる。
UIView となってはいるものの、その実体は UITableViewHeaderFooterView だったりするので、後はどうにでもしてというスタンス。
なお、フッタの高さを決める以下のメソッドも必要なので忘れずに。
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
名前からそれっぽいと思ったら、実際は違ったという、うっかり的な早とちりだったわけだが
実際に willDisplayFooterView:forSection: で表示させたフッターは
こちらが望むものとは違っていたので結局は使えないことが判明。
こんなの。
そんなプチ発見、機会があれば使っていきたいと思いつつ、あまり使いそうもない気がした will display〜.