изменить цвет фона заголовка раздела (обычный просмотр таблицы) - PullRequest
1 голос
/ 27 июля 2010

Мое приложение выглядит как приложение адресной книги по умолчанию на iphone. Для каждого алфавита в адресной книге (A, B.) Имеется заголовок раздела в цвете серого градиента. Можно ли переопределить этот цвет по умолчанию на другой оттенок?

Ответы [ 2 ]

4 голосов
/ 28 июля 2010
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    // create the parent view that will hold header Label
    UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 25.0)];

    // create the button object
    UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    headerLabel.backgroundColor = [UIColor blackColor];
    headerLabel.opaque = NO;
    headerLabel.textColor = [UIColor whiteColor];
    headerLabel.highlightedTextColor = [UIColor whiteColor];
    headerLabel.font = [UIFont boldSystemFontOfSize:20];
    headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 22.0);

    // If you want to align the header text as centered
    //headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);

    headerLabel.text = @"Name of header";

    [customView addSubview:headerLabel];

    return customView;

}
1 голос
/ 27 июля 2010

Вы можете заменить заголовки разделов UITableView, реализовав следующий метод в UITableViewDelegate:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

Возможно, вы также захотите внедрить метод высоты, чтобы обеспечить новыйвид сечения отображается правильно:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

Чтобы изменить цвет заголовка раздела, создайте UIView с UIImageView внутри него и UILabel для текста раздела.Добавьте изображение в UIImageView, чтобы увидеть, как должен выглядеть фон.

AFAIK, вы не можете манипулировать tintColor вида разреза.

...