Question

Cela concerne iPhoneOS-sdk-3.2

J'ai des difficultés pour changer la couleur de la bordure d'un UITableView groupé. Je peux changer la couleur de fond de la cellule, la couleur de séparation, la couleur du texte, assez facilement maintenant, et les coins arrondis correctement couper, même mis en évidence avec les couleurs qui j'ai choisi. Cependant, la frontière reste gris autour exaspérante malgré de nombreuses tentatives.

J'ai lu tous les commentaires que je peux trouver via Google, et encore moins stackoverflow. Je l'ai vu la solution pita héroïque de Mike Akers pour détourage UITableViewCell - ce problème est résolu pour iPhoneOS 3.0 et il ne m'a pas aidé à la frontière.

Je l'ai essayé à la fois une solution programmatique et basée xib et les deux donnent les mêmes résultats.

Je vais partager la version programmatique ci-dessous:

J'ai une sous-classe UIViewController plutôt qu'une sous-classe UITableViewController d'agir en tant que délégué UITableView - J'ai choisi cette voie comme je suis codage sur l'iPad et UITableViewController aurait sur l'prend écran. méthode loadview de ma sous-classe UIViewController:

- (void) loadView {
  self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  [self.view release];
  self.view.backgroundColor = [UIColor blackColor];

  // add and configure UITableView                                                                                     
  CGRect tableViewRect = CGRectMake(0., 0., 256., 768.);

  myTableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStyleGrouped];

  // set the tableview delegate to this object and the datasource to the datasource which has already been set          
  myTableView.delegate = self;
  myTableView.dataSource = self;

  myTableView.sectionIndexMinimumDisplayRowCount = 1;

  myTableView.backgroundColor = [UIColor clearColor];
  myTableView.separatorColor = [UIColor whiteColor];
  myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

  myTableView.opaque = NO;

  // add the table view to our background view                                                                          
  [self.view addSubview:myTableView];
  [myTableView release];
}
Était-ce utile?

La solution

J'ai trouvé une solution. Ce comportement ne semble être iPhoneOS 3.2 spécifique Apple a ajouté une propriété backgroundView pour UITableView dans iPhoneOS 3.2.

J'ai essayé [myTableView.backgroundView removeFromSuperView] et UITableView juste remplacé par un autre.

Au lieu de cela, était d'ajouter ma solution:

myTableView.backgroundView.hidden = YES;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top