Каков цвет фона заголовка раздела TableView по умолчанию на iPhone? - PullRequest
13 голосов
/ 05 января 2012

Я хочу настроить заголовок раздела TableView и оставить цвет фона по умолчанию. Я использую - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger) раздел. Мне нужно изменить размер шрифта в зависимости от устройства (iPad или iPhone). Для этого вызовите следующую функцию:

[UIColor colorWithHue: 0,6 насыщенности: 0,33 яркости: 0,69 альфа: 0,6].

Но я нашел эти значения вручную.

Ответы [ 5 ]

28 голосов
/ 11 июля 2014

Цвет фона заголовка раздела таблицы по умолчанию для ios7:

Objective-C
[UIColor colorWithRed:247/255.0f green:247/255.0f blue:247/255.0f alpha:1.0f]

Swift
UIColor(red: 247/255, green: 247/255, blue: 247/255, alpha: 1)
5 голосов
/ 24 октября 2016

Для изменения фона Цвет заголовка раздела TableView Всего одна строка Добавить TableView делегат willDisplayHeaderView:

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {

   UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
   **header.tintColor = [UIColor whiteColor];**

}
3 голосов
/ 15 июля 2017

Objective-C:

[UIColor colorWithRed:232/255.0f green:233/255.0f blue:237/255.0f alpha:1.0f]

Swift:

UIColor(red: 232/255, green: 233/255, blue: 237/255, alpha: 1)
0 голосов
/ 19 августа 2018

для iOS 11, я выбрал его цвет на симуляторе.

  • объект c: [UIColor colorWithRed: 247 / 255,0 зеленый: 247 / 255,0 синий: 247 / 255,0 альфа: 1,0]

  • swift: UIColor (красный: 247 / 255,0, зеленый: 247 / 255,0, синий: 247 / 255,0, альфа: 1,0)

Но нам нужно менять всякий раз, когда Apple меняет цвет.

Как получить цвет заголовка раздела по умолчанию?

0 голосов
/ 15 декабря 2012

То, что я сделал в одном из моих приложений, это для создания текста так:

NSString *sectionTitle = @"YOUR TITLE HERE";
CGSize sz = [sectionTitle  sizeWithFont:[UIFont boldSystemFontOfSize:20.0f] 
                   constrainedToSize:CGSizeMake(290.0f, 20000.0f)
                       lineBreakMode:UILineBreakModeWordWrap];

CGFloat height = MAX(sz.height, 20.0f);

CGRect sectionFrame = CGRectMake(0.0, 0.0, 320.0, height);

Я использовал 290 для ширины ограничения, чтобы обозначить границы надписей с обеих сторон. Затем я использовал растягиваемое изображение, как это:

UITableViewHeaderImage

И масштабировал его так, чтобы он соответствовал тексту в заголовке:

    UIImage *headerImage = [UIImage imageNamed:@"sectionheaderbackground.png"];
    UIImage *stretchableImage = [headerImage stretchableImageWithLeftCapWidth:12 topCapHeight:0];
    UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:sectionFrame];
    backgroundImageView.image = stretchableImage;

    // Add it to the view for the header
    UIView *sectionView = [[UIView alloc] initWithFrame:sectionFrame];
    sectionView.alpha = 0.9; 
    sectionView.backgroundColor = [UIColor clearColor];
    [sectionView addSubview:backgroundImageView];

Наконец, я создал ярлык и добавил его в качестве подпредставления:

    CGRect labelFrame = CGRectMake(10.0, 0.0, 290.0, height);
    UILabel *sectionLabel = [[UILabel alloc] initWithFrame:labelFrame];
    sectionLabel.text = sectionTitle;
    sectionLabel.numberOfLines = 0;
    sectionLabel.font = [UIFont boldSystemFontOfSize:18.0];
    sectionLabel.textColor = [UIColor whiteColor];
    sectionLabel.shadowColor = [UIColor grayColor];
    sectionLabel.shadowOffset = CGSizeMake(0, 1);
    sectionLabel.backgroundColor = [UIColor clearColor];
    [sectionView addSubview:sectionLabel];

    return sectionView;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...