Quando defino o backgroundColor
para o meu, UITableView
ele funciona bem no iPhone (dispositivo e simulador), mas NÃO no simulador do iPad. Em vez disso, recebo um plano de fundo cinza claro para qualquer cor definida, incluindogroupTableViewBackgroundColor
.
Passos para reproduzir:
- Crie um novo projeto baseado em navegação.
- Abra RootViewController.xib e defina o estilo de exibição de tabela como "Agrupado".
- Adicione esta resposta ao RootViewController:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; }
- Selecione Simulator SDK 3.2, crie e execute.
- Você receberá um fundo preto (dispositivo e simulador).
- Selecione seu destino na árvore do projeto.
- Clique em Projeto: Atualize o destino atual para o iPad.
- Construa e execute.
- Você obterá um fundo cinza claro.
- Reverta o estilo de exibição de tabela para Simples e você obterá um fundo preto.
Obrigado pela ajuda!
ipad
uitableview
iphone-sdk-3.2
background-color
rjobidon
fonte
fonte
Respostas:
Experimente um destes.
fonte
Muito obrigado por esta solução. Eu apliquei isso em uma propriedade UITableView com IBOutlet em um UIViewController e funciona bem como:
fonte
No iPad, a
backgroundView
propriedade parece ser usada para criar a cor de fundo cinza das tabelas agrupadas. Portanto, para alterar a cor de plano de fundo das tabelas agrupadas no iPad, deve-senil
excluir abackgroundView
propriedade e, em seguida, definir abackgroundColor
visualização da tabela desejada.fonte
Eu acho que vale a pena notar que, a partir do Xcode 6.1 e iOS 8.1, especificamente para iPad (se você também deseja definir o plano de fundo da célula), parece que você deve definir o plano de fundo da tabela E o plano de fundo da célula.
Por exemplo, em um storyboard do iPhone, você pode definir uma célula para limpar a cor e definir a imagem de plano de fundo da tabela programaticamente para uma tabela transparente com imagem de plano de fundo. No entanto, se você visualizasse essa mesma configuração no iPad, as células não ficariam claras. As células precisarão ser configuradas para limpar programaticamente para o iPad.
fonte
-viewDidLoad:
método do meu controlador de exibição .tentei configurar backgroundColor e View para a tabela, não teve sorte (simulador de iPad Xcode 5 iOS7.1), parecia bom para o iPhone, mas cor de fundo cinza claro no iPad ...
trabalhar com backgroundColor para a própria célula corrigiu isso para mim no iOS 7.1 4/2014
}
fonte
Se seu aplicativo tiver como alvo o iPhone e o iPad, você poderá fazer o seguinte:
Observe que a alocação do TableView não possui liberação automática para o ARC.
fonte
Se você estiver adicionando um UIViewController a outro UIViewController, também precisará definir o plano de fundo da sua visão como clearColor, além do UITableView, caso contrário, você terá um plano de fundo branco em vez de cinza claro.
fonte
Nenhuma das opções acima funcionou para o meu UIViewController-> UITableView especificado usando um único XIB. O que funcionou foi mover toda a configuração para um Storyboard e definir a cor de fundo usando o inspetor IB.
fonte
Eu também tenho esse tipo de problema. A
UITableView
cor de fundo será sempregroupTableViewBackgroundColor
independentemente do que eu definir.O sintoma é o seguinte: o UITableView está redefinindo sua cor de plano de fundo antes que a exibição apareça
Depois de definir a cor do plano de fundo na
init
função, ela está correta. EmviewDidLoad
eviewWillAppear
estágio, é correto. No entanto, emviewDidAppear
, a cor do plano de fundo é redefinida para a cor padrão.A resposta aceita não funciona agora.
Aqui está a minha solução. Basta definir a cor de fundo do tableView em
viewDidLoad
função vez deinit
ouviewWillAppear
.fonte