Pergunta

Isso diz respeito ao iPhoneOS-SDK-3.2

Estou tendo dificuldade em alterar a cor da borda de uma visão de uitável agrupada. Eu posso alterar a cor do fundo da célula, a cor do separador, a cor do texto, com bastante facilidade agora e o clipe de cantos arredondados corretamente, mesmo quando destacado com as cores que eu escolhi. No entanto, a fronteira circundante permanece irritantemente cinza, apesar de muitas tentativas diferentes.

Eu li todas as postagens relacionadas que posso encontrar via Google, muito menos StackOverflow. Eu vi a solução heróica pita de Mike Akers para o recorte UitableViewCell - esse problema é resolvido para o iPhoneos 3.0 e não me ajudou na fronteira.

Eu tentei uma solução programática e baseada em XIB e ambos forneço os mesmos resultados.

Vou compartilhar a versão programática abaixo:

Eu tenho uma subclasse UIViewController em vez de uma subclasse uabableViewController para atuar como um delegado de view - escolhi essa rota enquanto estou codificando no iPad e o UitableViewController supostamente toma conta de toda a tela. Método loadView da minha subclasse 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];
}
Foi útil?

Solução

Eu encontrei uma solução. Esse comportamento parece ser o iPhoneos 3.2 específico, pois a Apple adicionou uma propriedade BackgroundView para o UitableView no iPhoneos 3.2.

Eu tentei [MyTableView.backgroundView RemoffromsuperView] e o UitableView acabou de substituí -lo por outro.

Em vez disso, minha solução foi adicionar:

myTableView.backgroundView.hidden = YES;

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top