2016年8月11日木曜日

UITableViewのヘッダに大文字+小文字混じりの英字を表示する方法

UITableViewのヘッダにテキストを設定する場合は
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
で文字列を返します。

このままだと、英字部分が全て大文字に変換されます。
iOSがIOSとなるなど、変換して欲しくない、という場合がありえます。

この場合、この後で呼ばれる
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
で文字列を再設定すると、大文字+小文字混じりの表示も可能になります。

ヘッダ部分の表示位置はtitleForHeaderInSectionが返す文字列から計算されるので、willDisplayHeaderViewで再設定する場合も、ここで適切な文字列を返しておく必要があります。

0 件のコメント: