Пользовательский сгруппированный заголовок UITable в разных разделах - PullRequest
0 голосов
/ 07 марта 2012

У меня вопрос к заголовкам нескольких разделов в разных разделах.

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

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
// create the parent view that will hold header Label
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)];

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

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

headerLabel.text = @"section 1"; // i.e. array element
[customView addSubview:headerLabel];

return customView;
}

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вместо этого

headerLabel.text = @"section 1"; // i.e. array element

Используйте это

headerLabel.text=[arrayContainingSectionName objectAtIndex:section];
2 голосов
/ 07 марта 2012

Вы должны использовать разные customView для каждого раздела.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section  {
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)];
    UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.opaque = NO;
    headerLabel.textColor = [UIColor whiteColor];
    headerLabel.highlightedTextColor = [UIColor whiteColor];
    headerLabel.font = [UIFont boldSystemFontOfSize:20];
    headerLabel.frame = CGRectMake(10.0, 0.0, 300.0, 44.0);

    // If you want to align the header text as centered
    // headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);
if(section == 1)
    headerLabel.text = @"section 1"; // i.e. array element
else if(section == 2)
    headerLabel.text = @"section 2"; // i.e. array element
else
    headerLabel.text = @"section 3";//and so on
    [customView addSubview:headerLabel];

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