我正在尝试设置表索引,但它在右侧显示为白色栏。我正在使用 Storyboard 。有人知道发生了什么吗?谢谢

代码:

#pragma mark - Tableview datasource

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections in a tableview
    return self.arrayOfCharacters.count;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return the height of each cell
    return 55;
}

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
    // Return table index
    return [NSArray arrayWithArray: [@"A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|#" componentsSeparatedByString:@"|"]];
}

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
    // Match the section titls with the sections
    NSInteger count = 0;

    // Loop through the array of characters
    for (NSString *character in self.arrayOfCharacters) {

        if ([character isEqualToString:title]) {
            return count;
        }
        count ++;
    }
    return 0;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the each section
    return [[self.objectsForCharacters objectForKey:[self.arrayOfCharacters objectAtIndex:section]] count];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    // Return the title for each section
    return [NSString stringWithFormat:@"%@", [self.arrayOfCharacters objectAtIndex:section]];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"preplanCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    // Create a pointer to our preplan
    LBPrePlan *preplan = [[self.objectsForCharacters objectForKey:[self.arrayOfCharacters objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];

    cell.textLabel.text = preplan.name;
    cell.detailTextLabel.text = preplan.address;

    return cell;
}

最佳答案

发现我的问题。使用iOS7,您可以设置sectionIndexBackgroundColor。事实证明它一直在工作。

10-06 02:56