Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

90
Vistas
Pasar el dedo por una vista de tabla anula la selección de todas las filas seleccionadas trailingSwipeActionsConfigurationForRowAt

Recientemente implementado trailingSwipeActionsConfigurationForRowAt , donde después de deslizar de derecha a izquierda se muestran dos opciones y funciona bien. Pero el problema es que cuando selecciono varias filas o una sola fila, después de deslizar las filas, se deseleccionan. ¿Hay alguna manera de mantener la selección incluso después de deslizar?

A continuación se muestra mi código

 func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { let renameAction = contextualToggleRenameAction(forRowAtIndexPath: indexPath) let lastResAction = contextualToggleLastResponseAction(forRowAtIndexPath: indexPath) let swipeConfig = UISwipeActionsConfiguration(actions: [renameAction, lastResAction]) swipeConfig.performsFirstActionWithFullSwipe = false return swipeConfig } func contextualToggleLastResponseAction(forRowAtIndexPath indexPath: IndexPath) -> UIContextualAction { let sensorData = sensorsList?[indexPath.row] var lastResponse = "" if sensorData != nil{ if let lstRes = sensorData!["last_response"] as? String{ lastResponse = lstRes } } let action = UIContextualAction(style: .normal, title: lastResponse) { (contextAction: UIContextualAction, sourceView: UIView, completionHandler: (Bool) -> Void) in print("Last Response Action") } action.backgroundColor = UIColor(red: 61/255, green: 108/255, blue: 169/255, alpha: 1.0) return action }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Mierda, arreglé este estúpido problema.

Sí, sí, asegúrese de que tableView.allowsSelectionDuringEditing = true y tableView.allowsMultipleSelectionDuringEditing = true.

Pero...

Un saludo a esta respuesta SO que me llevó casi directamente en el camino hacia el éxito ( ver aquí ).

CLAVE: Vuelva a seleccionar/deseleccione las filas en su implementación de setEditing, que es un método que anula. UITableView entra en modo de edición al deslizar.

NOTA IMPORTANTE: Llame a super.setEditing(...) antes de cualquiera de sus códigos, como se muestra a continuación, o probablemente no funcionará, o al menos no perfectamente.

 override func setEditing(_ editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) for i in 0..<your data.count { if this item is selected { self.tableView.selectRow(at: IndexPath(row: i, section: 0), animated: false, scrollPosition: .none) } else { self.tableView.deselectRow(at: IndexPath(row: i, section: 0), animated: false) } } }
over 4 years ago · Santiago Trujillo Denunciar

0

Un deslizamiento se considera una edición, por lo que puede habilitar allowsSelectionDuringEditing si desea mantener el estado seleccionado:

 tableView.allowsSelectionDuringEditing = true
over 4 years ago · Santiago Trujillo Denunciar

0

Dependiendo de indexPathsForSelectedRows no siempre da el resultado esperado.

En su lugar, debe mantener una matriz de selectedIndexPaths .

Aquí hay un fragmento de código para demostrar:

 var selectedIndexPaths = [IndexPath]() func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if selectedIndexPaths.contains(indexPath) { selectedIndexPaths.removeAll { (ip) -> Bool in return ip == indexPath }else{ selectedIndexPaths.append(indexPath) } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda