2010-04-02 20 views
6

Tengo un UITableView una imagen de fondo personalizada establecida como este con:problemas de color UITableViewCell con tabla personalizada opinión del fondo

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 

El fondo parece muy bien, pero mis UITableViewCells (células por defecto, no personalizados) tienen algún tipo de un tinte extraño para ellos, y el UILabel que contiene el texto "Nuevo Proyecto" también parece tener algún tipo de trasfondo detrás de él. ¿Cómo puedo eliminar esto? Ya he probado:

cell.backgroundColor = [UIColor clearColor]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 

Gracias

alt text http://cl.ly/Cg5/content

Respuesta

2

Creo que este es un desagradable efecto secundario de simplemente agregar una imagen directamente en el fondo de la vista de tablaColor.

Trate de añadir la imagen a la vista 's color de fondo:

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]]; 

y luego fijó la vista mesa' s backgroundColor ser claro:

[[self tableView] setBackgroundColor:[UIColor clearColor]]; 

espero que este ayuda!

+0

Esto lo hizo, gracias! – indragie

+0

Hola, ¿y si necesito que el patrón de fondo se desplace con la tabla? Así que no puedo simplemente hacer que el fondo de la tabla sea transparente y establecer el fondo de la vista debajo de la tabla. – hzxu

+0

Hola, hzxu, creo que podrás lograr eso si configuras el color de fondo de las celdas de tu tabla como [UIColor clearColor] y luego configuras la vista de fondo de las celdas de tu tabla para que sea una imagen personalizada (UIImageView). Debería poder utilizar un fondo de tabla de su elección. Espero que esto ayude. –

0

Algunos momentos en que su trabajo con ajuste de imágenes para una aplicación, y las pruebas en el simulador, que se congelan a la aplicación de los pocos correr. No estoy seguro, este es el caso incluso si elimina los archivos de imagen; todavía siguen apareciendo.

Haría que tuvieras que descansar el simulador y reiniciar Xcode. Luego fuerce una reconstrucción de la aplicación en el simulador. Esto debería eliminar las imágenes, incluso las de fondo, si todavía se están haciendo referencia a ellas.

Si esta no es una solución que funcione ... intente asegurarse de que no haya comandos en conflicto que vayan al mismo objeto UiTablView- (1 de IB y 1 de Xcode programmically). A veces puede pasar por alto que ha establecido algo en IB, y entra en conflicto con lo que le indica que haga de manera programática.

Si eso no resuelve el problema ... verifique las conexiones en IB y asegúrese de reffringar la correcta tabla de vistas de IBOutlet UITableView *. Y tiene delegat y protocolos de datos en el encabezado.

0

Si usted quiere tener cada celda con fondo de y desea quitar el fondo del texto, tal vez usted puede probar esto ...


- (void)viewDidLoad { 
... 
self.tableView.backgroundColor = [UIColor clearColor]; 
... 
} 

- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
... 
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 
... 
} 
Cuestiones relacionadas