2011-09-06 12 views
6

Cómo reducir/eliminar el margen de mano izquierda/derecha en un UITableView agrupado?cómo reducir/eliminar el margen izquierdo/derecho en un UITableView agrupado?

¿Hay alguna manera de hacerlo sin definir una vista personalizada, es decir, utilizando un UITableViewController directamente?

NO estoy preguntando aquí sobre el espacio entre celdas, es el espacio a la izquierda & a la derecha de las celdas que veas.

EDIT 1: ¿Puedo aclarar:

  • ya tienen una costumbre UITableViewCell ("@interface AppointCell: UITableViewCell") en mi solución
  • creo que el área a la izquierda ya la derecha de éstos a medida UITableViewCell de sin embargo, no son directamente de la propia celda; digo esto solo cuando pongo un borde alrededor de la celda (a través de su capa) puedo ver esto, así que parece que el espacio es de UITableView (no de las células)
  • debería señalar de nuevo Estoy usando el modo AGRUPADO para la vista de tabla

Respuesta

9

Sure; simplemente ajuste el marco de UITableView para que sea un poco más ancho que su supervista y un poco a la izquierda (en la dirección X negativa, en otras palabras) de su límite izquierdo.

+0

Eso suena como el enfoque correcto. Puede intentar poner esa línea en su '-viewWillAppear: animated:'; Es posible que su vista no tenga su tamaño configurado correctamente cuando se carga por primera vez, pero definitivamente debe hacerlo cuando su controlador reciba una notificación de que está a punto de aparecer. –

+0

arr sí ... parece funcionar – Greg

+0

Este enfoque no parece funcionar, al menos ahora en iOS 7 y 8. ¿Existe un nuevo enfoque que la gente esté usando para lograr esto? –

1

Creo que tiene que crear una vista de celda personalizada para su tabla que tiene relleno en el lado izquierdo y derecho.

+0

gracias - ¿puedes notar mi respuesta EDIT 1 sin embargo ...? – Greg

+0

¡Ah, bueno, esa es una pregunta interesante! Me pregunto si puedes hacer un cambio de tamaño en el Marco de CGRect de la tabla vista ... –

+0

Sí ... podría intentarlo y ver cómo voy – Greg

1

También puede hacer que la celda sea un poco más ancha. Agregue este método a su subclase UITableViewCell.

- (void)setFrame:(CGRect)frame { 
    frame.origin.x -= marginOffset; 
    frame.size.width += 2 * marginOffset; 
    [super setFrame:frame]; 
} 

Creo que el desplazamiento debe ser de 9 puntos. Como nota al margen: si configura un fondo personalizado para la celda, también puede tener que establecer su fondo seleccionado.

Cuestiones relacionadas