Pergunta

Eu tenho um problema em que meu uitableview (estilo de grupo) tem uma "dica" preta acima do canto arredondado.

Estou configurando o plano de fundo da TableView como assim:

[meetingTableView setBackgroundColor:[[UIColor alloc] initWithPatternImage:[[UIImage alloc] initWithContentsOfFile:@"background.png"]]];

E minha visualização de mesa acaba parecendo assim:

Black Pointy Edge na esquina arredondada http://papernapkin.org/pastebin/resource/images/imageentryid/6487

Alguma idéia de como posso me livrar desses pontos negros?

Foi útil?

Solução

Eu tenho o mesmo problema. Quando defino a cor clara do XIB, tenho o canto traseiro, a solução é defini -la por código!

(O mesmo problema com o interface Builder existe para o WebViews)

Outras dicas

Experimente isso no seu controlador viewDidLoad método:

meetingTableView.backgroundColor = [UIColor clearColor];

Você terá cantos pretos no estilo do grupo UitableView se definir a cor de fundo para limpar a cor no XIB.

Em vez

tableViewObject.backgroundColor=[UIColor clearColor];

Apenas caso você ainda não estivesse ciente, Há outra técnica legal Você pode usar para criar fundos personalizados para o UitableViews:

Não é tão simples quanto definir o plano de fundo como você está fazendo, mas isso oferece muito mais flexibilidade e pode escalar para qualquer tamanho de tabela.

Talvez se você colocar yourTableViewOutlet.backgroundView=nil;

Para evitar os cantos pretos, você deve garantir que as células do UitableView não sejam opacas. Parece que você está usando as células da tabela de estilos personalizados e o valor padrão para o opaco é sim. Vá para o interface Builder e desmarque a caixa de seleção opaca se a célula da tabela foi configurada em um arquivo XIB. Ou use o setOpaque:NO setter para alterar o valor.

Como a vista da célula da mesa ainda possui uma estrutura retangular, mesmo com os cantos arredondados, a vista da célula e não a vista real da tabela está causando esses cantos pretos.

Meu palpite é que ele está relacionado a algo que você está fazendo nas células de exibição de tabela personalizadas. Você pode querer experimentar para definir a cor do fundo da célula para [UIColor clearColor].

Eu acho que você deve definir a cor de fundo da sua tabela como ClearColor e Initialsie sua visão com a imagem de fundo.

Então ele definitivamente não mostrará os cantos pretos. Mas também não se esqueça de definir a cor de fundo da sua célula como cor branca

A resposta votada acima (defina os antecedentes do TableView como [uicolor clearcolor]) pode não funcionar para você se você for como eu e nunca usar o uabableViewController, em vez de colocar um uitableView dentro de um UIViewController.

Nesse caso, não é a TableView que precisa ter um plano de fundo claro, mas a visualização que mantém a TableView.

Isso não é intuitivo, mas funciona para mim. No interface Builder, você pode simplesmente definir a cor de fundo da visualização pai para limpar a cor, ou você pode fazer o mesmo no código no ViewDidload com:

self.view.backgroundColor = [UIColor clearColor];

Suponho que o motivo dos cantos pretos é algo sobre a otimização de gráficos internos e a definição do plano de fundo a fixa.

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