iphone - switch - uitableviewcell in swift
LĂnea Separadora UITableView (13)
¿Cómo puedo cambiar la línea de separación que aparece al final de cada celda en UITableView? Quiero tener una imagen que sea una imagen de línea delgada del tipo de separador.
Aquí hay una forma alternativa de agregar una línea separadora personalizada a una UITableView
haciendo un CALayer
para la imagen y usándola como la línea separadora.
// hacer 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];
Establezca el color del separador que se va a modelar con su imagen.
en viewDidLoad
:
self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mySeparatorImage"]];
Esto es definitivamente ayuda. Trabajando. pero configure el separador "ninguno" del inspector de atributos. Escriba el siguiente código en el método cellForRowAtIndexPath
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];
La forma más simple de agregar una línea de separación debajo de cada celda de vista de tabla se puede hacer en el guión gráfico mismo. Primero seleccione la vista de tabla, luego en el inspector de atributos seleccione la propiedad de la línea de separación para ser 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.
Mi proyecto está basado en iOS 7 Esto me ayuda
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
¡Luego coloque una subvista en la celda como separador!
Primero puedes escribir el código:
{ [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];}
después de esto
{ #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;
}
}
Prueba esto
C objetivo
[TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"[email protected]"]]];
Rápido
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
tableView.separatorColor = UIColor(patternImage: UIImage(named: "YOUR_IMAGE_NAME")!)
Prueba esto:
UIImageView *separator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
[cell.contentView addSubview: separator];
Ese es un ejemplo de cómo lo hice funcionar bastante bien.
Recuerde establecer el estilo de separación para la vista de tabla en none.
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.
Tiene 2 opciones para cambiar el estilo de separador de una vista única si desea cambiar las opciones predeterminadas que no son separadores, línea continua o línea grabada.
Lo más fácil consiste en incluir una imagen de fondo de línea separadora en cada vista de celda. Puede verificar dónde está ubicada su celda en la vista de tabla para aplicar la imagen de fondo derecha que le dará una línea de separación en la parte superior de la celda o en la parte inferior de la celda.
Establezca el estilo de separador en none en viewDidLoad de su vista de tabla:
[self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];
Establezca su imagen de fondo en la (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];
verifique la posición de su celda en la sección con lo siguiente:
NSInteger sectionRows = [tableView numberOfRowsInSection: [indexPathsection]]; NSInteger row = [indexPath fila];
- Agregue la línea de separación como una celda. Encontré una publicación recientemente para esto aquí: http://www.dimzzy.com/blog/2012/01/separator-cells-for-uitableview/#disqus_thread
puedes probar 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;
}
Swift 3/4
Línea separadora personalizada, coloque este código en una celda personalizada que sea una subclase de UITableViewCell (o en CellForRow o WillDisplay TableViewDelegates para una celda no personalizada):
let separatorLine = UIImageView.init(frame: CGRect(x: 8, y: 64, width: cell.frame.width - 16, height: 2))
separatorLine.backgroundColor = .blue
addSubview(separatorLine)
en el método viewDidLoad:
tableView.separatorStyle = .none
Establezca el estilo separatorStyle
de la vista de UITableViewCellSeparatorStyleNone
en UITableViewCellSeparatorStyleNone
. Agregue su imagen de separador como subvista a cada celda y configure el marco correctamente.