switch human guidelines form buttons ios user-interface uitableview

ios - human - Cambiar el color del borde de un UITableViewCell en la selección



switch ios (3)

Puedes usar

[cell.contentView.layer setBorderColor:[UIColor blackColor].CGColor]; [cell.contentView.layer setBorderWidth:2.0f];

Espero que te ayude.

Estoy usando una celda de vista de tabla personalizada para mi vista de tabla. Para establecer el borde, he puesto una vista en la celda personalizada y estoy cambiando sus propiedades de borde.

self.borderView.layer.borderColor = VIEW_BORDER_COLOR;

Quiero resaltar la celda seleccionada cambiando su color de borde. Traté de cambiarlo en didselectrowforindexpath,

cell.borderView.layer.borderColor = [UIColor yellowColor].CGColor;

pero a medida que las celdas se reutilizan, cambia al desplazarse.


Tendrá que marcar / desmarcar (suponiendo que solo necesita uno seleccionado a la vez) el color del borde una y otra vez como-

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ if(indexPath.row==self.selectedRow){ cell.borderView.layer.borderColor = [UIColor yellowColor].CGColor; }else { cell.borderView.layer.borderColor = [UIColor clearColor].CGColor; } }

Simplemente guarde / almacene en caché el índice seleccionado como:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //Unselected the prevoius selected Cell YourCellClass *aPreviousSelectedCell= (YourCellClass*)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:self.selectedRow inSection:0]]; aPreviousSelectedCell.borderView.layer.borderColor = [UIColor clearColor].CGColor; //Selected the new one- YourCellClass *aSelectedCell = (YourCellClass*)[tableView cellForRowAtIndexPath:indexPath]; aSelectedCell.borderView.layer.borderColor = [UIColor yellowColor].CGColor; self.selectedRow = indexPath.row; }


Utilizando:

Swift 2 :

cell.layer.borderWidth = 2.0 cell.layer.borderColor = UIColor.grayColor().CGColor

Swift 3

cell.layer.borderWidth = 2.0 cell.layer.borderColor = UIColor.gray.cgColor