Pregunta

Esto se refiere iPhoneOS-sdk-3,2

Estoy teniendo problemas para cambiar el color del borde de un UITableView agrupados. Puedo cambiar el color de fondo de la celda, el color del separador, el color del texto, con bastante facilidad ahora, y las esquinas redondeadas clip de forma correcta aunque destaca con cualquier color que yo he elegido. Sin embargo, el borde que rodea sigue siendo exasperantemente gris a pesar de muchos intentos diferentes.

He leído todos los mensajes relacionados que puedo encontrar a través de Google, y mucho menos stackoverflow. He visto PITA solución heroica Mike Akers para el recorte UITableViewCell - este problema se resuelve para iPhoneOS 3.0 y no me ayuda con la frontera.

I han intentado tanto una solución programática y basado en xib y tanto proporcionar los mismos resultados.

Voy a compartir la versión programática a continuación:

Tengo un UIViewController subclase en lugar de una subclase UITableViewController para actuar como delegado UITableView - Elegí esta ruta ya que estoy cifrando en el IPAD y UITableViewController informa, se hace cargo de toda la pantalla. Método loadView de mi UIViewController subclase:

- (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];
}
¿Fue útil?

Solución

I encontró una solución. Este comportamiento parece ser iPhoneOS 3,2 específico como Apple ha añadido una propiedad backgroundView para UITableView en iPhoneOS 3.2.

He intentado [myTableView.backgroundView removeFromSuperView] y UITableView acaba de substituirlo por otro.

En lugar de ello, mi solución fue añadir:

myTableView.backgroundView.hidden = YES;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top