¿Cómo puedo cambiar la línea de separación que aparece al final de cada celda en UITableView? Quiero tener una imagen que es una imagen de línea delgada tipo separador.Separador UITableView línea
Respuesta
Puede agregar un UIImageView que sea, por ejemplo, 1 punto alto y tan ancho como el marco de la celda, y luego establecer su origen en la esquina inferior izquierda de la celda.
Establezca separatorStyle
de la tabla vista en UITableViewCellSeparatorStyleNone
. Agregue su imagen de separador como subvista a cada celda y configure el marco correctamente.
Tiene 2 opciones para cambiar el estilo de separación de una vista única si desea cambiar las opciones predeterminadas que no son separadores, línea continua o línea grabada.
La forma más fácil consisten en la inclusión de una imagen de fondo línea de separación a cada vista de la célula. Puede verificar dónde está ubicada su celda en la vista de tabla para aplicar la imagen de fondo derecha que le dará ya sea una línea separadora en la parte superior de la celda o en la parte inferior de la celda .
establecer el estilo de separador con ninguno en el viewDidLoad de su tableview:
[self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];
Indica tu imagen de fondo en el (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) Función indexPath
UIImage* yourBgImg = [[UIImage imageNamed:@"bgImage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
cell.backgroundView = [[UIImageView alloc ] initWithImage: yourBgImg];
de verificación de la posición de la celda en la sección con la siguiente:
NSInteger sectionRows = [tableView numberOfRowsInSection: [indexPathsection]]; Fila de NSInteger = [fila de indexPath];
- Agregue la línea de separación como una celda. Me parece un post reciente para este aquí: http://www.dimzzy.com/blog/2012/01/separator-cells-for-uitableview/#disqus_thread
Prueba esto:
UIImageView *separator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
[cell.contentView addSubview: separator];
Eso es un ejemplo de cómo lo tengo que funciona bastante bien.
Recuerde establecer el estilo de separador para la vista de tabla en ninguno.
primer lugar se puede escribir el código:
{ [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];}
después de eso
{ #define cellHeight 80 // You can change according to your req.<br>
#define cellWidth 320 // You can change according to your req.<br>
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"seprater_line.png"]];
imgView.frame = CGRectMake(0, cellHeight, cellWidth, 1);
[customCell.contentView addSubview:imgView];
return customCell;
}
}
El problema con soluciones como esta que solo agregue una subvista a la celda en 'tableView: cellForRowAtIndexPath:' es que agregarán una nueva cada vez que la celda se reutilice, sin eliminar las antiguas. Solo se debe agregar una vez, por lo que lo haría en una subclase 'UITableViewCell' – Gavin
Prueba este
Objetivo C
[TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"[email protected]"]]];
Swift
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
tableView.separatorColor = UIColor(patternImage: UIImage(named: "YOUR_IMAGE_NAME")!)
Awesome answer ¡Gracias! – Septronic
Gracias amigo ... ¡salud! – Sakshi
Gracias @ Sakshi - Configuré el color del separador en lugar de una imagen y se ve muy bien también.' table.separatorStyle = UITableViewCellSeparatorStyle.SingleLine table.separatorColor = UIColor (rojo: 245/255, verde: 245/255, azul: 245/255, alfa: 1.0) ' –
Establecer el color del separador para ser modelado con su imagen.
en viewDidLoad
:
self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mySeparatorImage"]];
Aquí es una forma alternativa para agregar una línea de separación personalizada a un UITableView
haciendo una CALayer
para la imagen y el uso que a medida que la línea de separación.
// crea un CALayer para la imagen de la línea de separación
CALayer *separator = [CALayer layer];
separator.contents = (id)[UIImage imageNamed:@"myImage.png"].CGImage;
separator.frame = CGRectMake(0, 54, self.view.frame.size.width, 2);
[cell.layer addSublayer:separator];
Mi proyecto se basa en iOS 7 Esto me ayuda
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
continuación, poner una subvista en la celda como ¡separador!
Eso no responde la pregunta. –
se puede tratar a continuación:
UIView *separator = [[UIView alloc] initWithFrame:CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)];
separator.backgroundColor = myColor;
[cell.contentView addSubview:separator];
o
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
imageView.frame = CGRectMake(0, 100, 320, 1);
[customCell.contentView addSubview:imageView];
return customCell;
}
Esto es de gran ayuda. Trabajando. pero configure el separador "ninguno" del inspector de atributos. Escribir código siguiente en cellForRowAtIndexPath método
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0,
cell.contentView.frame.size.height - 1.0,
cell.contentView.frame.size.width, 1)];
lineView.backgroundColor = [UIColor blackColor];
[cell.contentView addSubview:lineView];
Intenté esto incluso con '[cell.contentView bringSubviewToFront: lineView];' y en su mayoría no se muestra, excepto en los lados derecho e izquierdo. –
Swift 3/4
personalizada línea de separación, poner este código en una celda personalizado que es una subclase de UITableViewCell (o en CellForRow o WillDisplay TableViewDelegates de celda personalizado no):
let separatorLine = UIImageView.init(frame: CGRect(x: 8, y: 64, width: cell.frame.width - 16, height: 2))
separatorLine.backgroundColor = .blue
addSubview(separatorLine)
forma más sencilla de agregar una línea de separación en cada célula tableview se puede hacer de t el guión gráfico en sí mismo. Primero seleccione la vista de tabla, luego en el inspector de atributos seleccione la propiedad de la línea de separación para que sea una sola línea. Después de esto, seleccione la inserción del separador para que sea personalizada y actualice la inserción izquierda para que sea 0 desde la izquierda.
- 1. Problema del separador de UITableView
- 2. UITableView, ¿Separador de color dónde establecer?
- 3. Use una imagen como el separador UITableView
- 4. ¿Cómo aumentar la altura del separador UITableView?
- 5. RTF Separador de línea
- 6. Separador de línea en iText?
- 7. Quitar el separador de línea pero no el borde en un UITableView
- 8. Cambie dinámicamente el color de la línea del separador de celdas UITableView
- 9. Perl Nuevo problema de separador de línea
- 10. Cómo personalizar el separador TableView en iPhone
- 11. iPhone + + UITableView fila altura
- 12. Cambiar el color de un separador de línea en Cocoa
- 13. UISegmentedControl con color personalizado: error de línea de separador
- 14. WPF Separador posición
- 15. Dibujar el separador vertical en UITableViewCell
- 16. ¿Cómo agrego un separador adicional a la parte superior de una UITableView?
- 17. UITableViewCell separador no aparece
- 18. ¿Hay alguna manera de eliminar la línea de separación de una UITableView?
- 19. Cambio UITableView accessoryView en la línea de selección de
- 20. UITableView
- 21. UITableView DidSelectRowAtIndexPath?
- 22. separador decimal en NumberFormat
- 23. fecha de emisión separador
- 24. makefile: separador de falta
- 25. Separador en Wicket DropDownChoice
- 26. Separador en ListView (WPF)?
- 27. Android GridView con Separador
- 28. Maven defecto Separador
- 29. MYSQL - Separador de miles
- 30. GROUP_CONCAT coma separador - MySQL
No se olvide de apagar el estilo separador predeterminado para la vista de tabla: '[auto.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone]; ' – Jasarien
¿Puede darme un código aproximado para que pueda comenzar, cómo puedo establecer su origen en la esquina inferior izquierda de la celda? –
tengo la solución, gracias a todos. –