2013-10-25 19 views
7

Sto provando a impostare un indice tabella ma viene visualizzato come una barra bianca sulla destra. Sto usando lo storyboard. Qualcuno sa cosa sta succedendo? GrazieIndice tabella iOS7 che appare come barra bianca

Codice:

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

risposta

11

Trovato il mio problema. Con iOS7 hai la possibilità di impostare sectionIndexBackgroundColor. Si scopre che funzionava tutto il tempo.

6

È possibile modificare il colore di sfondo Tableview indexset nel iOS7 utilizzando il seguente codice

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