2014-01-30 3 views
1

Обычно мой экран выглядит так:Как изменить индекс, основанный раздел общего цвета в UITableView

enter image description here

Когда я использую этот код

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)]; 

    [headerView setBackgroundColor:[UIColor whiteColor]]; 

    return headerView; 
} 

мой выход, как это:

enter image description here

Моя секция n индексный текст не отображается. Я знаю, что заголовок заголовка раздела добавляет мое пользовательское представление. Я хочу изменить цвет заголовка раздела, а также отобразить индексный текст.

@Khawar ответ я получаю этот выход

enter image description here

+0

Чувак вы не добавили метку к представлению заголовка. Это показывает, что вы дали, и это простой белый заголовок и ничего больше. –

+0

почему это не по теме – codercat

+0

Извините @iDev, я не понял вас раньше. См. Обновленный ответ. – Khawar

ответ

1

это работа 100%, и вы можете изменить свой индекс или заголовок цвет текста

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section 
{ 
    view.tintColor = [UIColor blueColor]; 

    // if you have index/header text in your tableview change your index text color 
    UITableViewHeaderFooterView *headerIndexText = (UITableViewHeaderFooterView *)view; 
    [headerIndexText.textLabel setTextColor:[UIColor blackColor]]; 

} 

выход:

enter image description here

0

Вы должны дать название для раздела ... Или вы можете использовать этот метод ..

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UILabel *headerView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)]; 
    [headerView setBackgroundColor:[UIColor colorWithWhite:0 alpha:0.5]]; 
    headerView.text = [self tableView:tableView titleForHeaderInSection:section]; 
    return headerView; 
} 
1

Попытки установить высоту для заголовка UITableView.

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { 
    return 30.0; 
} 

Если вам нужно изменить цвет фона заголовка раздела при отображении заголовка раздела, вам не нужно создавать для него настраиваемое представление. Пользовательское представление перезапишет ваш заголовок по умолчанию, и ваше название не будет отображаться, если вы не добавите пользовательский UILabel в свой пользовательский вид. Просто используйте делегата UITableView, чтобы изменить цвет фона.

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { 
    view.tintColor = [UIColor redColor]; 
} 

Просмотреть результаты до и после.

---------------- Перед ------------------

enter image description here

---------------- После ------------------

enter image description here

Надеется, что это фиксирует вопрос.

+0

ваш ответ неправильный – codercat

+0

вы скопировали меня .. – codercat

+0

Совсем не чувак :), получил код и скриншот из моего существующего приложения;). Вчера я не был уверен в вашем вопросе. – Khawar

Смежные вопросы