2011-01-31 33 views
7

Quiero eliminar la separación incorporada entre celdas en UITableView.Cómo eliminar la separación entre las celdas UITableView

He intentado utilizar:

[self.myTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

Pero eso sólo elimina la línea de separación. Necesito la vista para que parezca como si no fuera una vista de tabla. (como la vista de tabla es una gran vista que no contiene muchas celdas separadas)

¿Es esto posible?

Editar: ¿Ves la separación entre las celdas? Quiero que desaparezca y la mesa se vea como si fuera una gran célula.

enter image description here

Edición 2: El problema no aparece cuando no utilizo una vista de la imagen como el fondo de la celda, pero sólo tiene que utilizar un simple color de fondo. Intenté usar una imagen diferente, y como pueden ver, el problema es mucho menos obvio. Aún así, apreciaría una solución para la imagen roja, ya que tengo muchas imágenes que todavía no se pueden poner como fondo actualmente. (No estoy seguro de por qué una imagen sería la causa del problema y otra no, supongo que algo con el ajuste de pic)

enter image description here

+0

Si no debe verse como un UITableView entonces ¿por qué estás usando uno? –

+1

@AntwanVanHoudt - las vistas de la tabla son para los datos. Qué. El resultado final parece irrelevante. – Moshe

+0

Si usa 'UITableViewStylePlain' y no hay títulos de secciones/pies de página, no debería ver separadores en absoluto. – Costique

Respuesta

1

Parece que han respondido a su propia pregunta. Si desea un fondo de color sólido, haga una imagen con solo un color sólido. Sospecho que no es la mejor práctica, pero hará el trabajo.

+0

Hola Moshé, sí uso celdas personalizadas, pero supongo que el problema no está en las celdas, sino en cómo las presenta TableView. – Idan

+0

Voy a intentar su sugerencia sobre las secciones y hacerle saber los resultados. gracias – Idan

+0

Lo siento, pero su sugerencia no funcionó. Quizás no me entendiste bien, mira mi pregunta ahora, la edité. – Idan

17

Usted puede hacer algo como

self.tableView.separatorColor = [UIColor whiteColor];

o

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

supongo que en su caso sería

self.myTableView.separatorColor = [UIColor whiteColor];

En el futuro, es posible que desee buscar Desbordamiento de pila, ya que hay muchos similar questions.

+0

¿No has leído mi pregunta? porque intenté exactamente lo que sugirió y no hizo todo el trabajo. – Idan

+0

Bueno, es confuso lo que quieres porque dices "Necesito la vista para que parezca como si no fuera una vista de tabla" (como la vista de tabla es una vista grande que no contiene muchas celdas separadas) "que me lleva (y otros carteles) para preguntarse por qué estás usando TableView. Si desea la estructura de vista de tabla sin el efecto de desplazamiento simplemente haga 'self.tableView.scrollEnabled = NO;' Quizás pueda aclarar su pregunta si no está recibiendo respuestas satisfactorias. – aqua

+0

Acabo de editar la pregunta, por favor eche un vistazo de nuevo. – Idan

7

Su separación se debe al gradiente de fondo en el ejemplo rojo y no proviene de tableView. en tu segunda imagen no hay gradiente, por lo que no ves la separación.

elimina el degradado de la imagen de fondo y estará bien.

5

tratar de hacer esto:

self.tableView.backgroundColor=[UIColor clearColor]; 
self.tableview.separatorColor=[UIColor clearColor]; 
self.view.backgroundColor=[UIColor yourcolor]; 

no recuerdo si es entonces el color con la imagen o backgroundwithimage o de fondo con vistas .. no recuerdo, sin embargo manera lógica es la siguiente.

Esperamos que sea útil

2

Si lo que desea es deshacerse del separador entre las células UITableView. Dos cosas que necesitas

  1. [self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];
  2. Asegúrate de que tu imageView (en tu celda tableview) tenga la misma altura que la celda tableview. Esto significa que su vista de imagen cubre completamente la celda de la vista de tabla. Vaya a la vista del inspector y verifique la altura; si ve que la altura es 43, simplemente ajústelo a 44 (44 es la altura predeterminada de la mesa de trabajo para la pantalla retina).

enter image description here enter image description here enter image description here

0

He hecho esto muchas veces en mis propias aplicaciones. Entiendo que desee hacer que su tabla vista parezca una mesa de trabajo, pero como si estuviera en una hoja de papel en blanco.

Solo una nota para usted, la razón por la que puede ver la separación con algunas imágenes y no tanto con los demás se debe a su textura de imagen. Cuando coloca copias de la imagen una al lado de la otra, no tienen un patrón continuo formando así separaciones visuales obvias.

Solución: Suponiendo que tiene la configuración de la vista de tabla en un archivo xib, muestre el fondo de la misma para borrar -> luego configure el fondo de la vista a la imagen que desee. A continuación, tendrá una vista de tabla con la vista de fondo transparente y solo la vista principal detrás de esta mostrando su imagen o color. Mostrar su imagen en este lienzo significará un claro fondo de imagen.

1

Ir StroyBaord -> Seleccionar tabla -> Atributo inspector -> Separador Ninguno Sin Separador aparecerá enter image description here

Cuestiones relacionadas