UITableViewは、決められたフォーマット(UITableViewCell)に基づいてリスト形式でデータを表示するクラスです。
データが多くなりリストが長くなった場合には、SectionIndex(セクションインデックス)を使ってセクション単位でのジャンプをする機能を提供します。
セクションインデックスを表示させる
UITableViewのセクションインデックスを単純に表示させたい場合、UITableViewDataSource
のデリゲートのsectionIndexTitlesForTableView:メソッド
を以下のように実装します。
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { return @[ @"2日", @"3日", @"4日", @"5日", @"6日", @"7日", @"8日", @"9日", @"●"]; }
iOS 7.0以降では下図のように表示されます。
セクションインデックスの文字色を変える
[[UITableView appearance] setSectionIndexColor:[UIColor redColor]];
または、
[UITableView appearance].sectionIndexColor = [UIColor redColor];
セクションインデックスの背景色を変える
[[UITableView appearance] setSectionIndexBackgroundColor:[UIColor purpleColor]];
または、
[UITableView appearance].sectionIndexBackgroundColor = [UIColor purpleColor];