2013-10-25 8 views
7

Ich versuche, einen Tabellenindex einzurichten, aber es wird als weißer Balken auf der rechten Seite angezeigt. Ich verwende ein Storyboard. Weiß jemand was los ist? DankiOS7 Tabellenindex erscheint als weiße Leiste

Code:

#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; 
} 

Antwort

11

gefunden mein Problem. Mit iOS7 haben Sie die Möglichkeit, sectionIndexBackgroundColor zu setzen. Es stellte sich heraus, dass es die ganze Zeit funktionierte.

6

können Sie die Farbe in ios7 Tableview indexset Hintergrund ändern Sie den folgenden Code

[[UITableView appearance] setSectionIndexBackgroundColor:[UIColor clearColor]]; 
    [[UITableView appearance] setSectionIndexTrackingBackgroundColor:[UIColor lightGrayColor]]; 
    [[UITableView appearance] setSectionIndexColor:[UIColor darkGrayColor]]; 
mit