diff --git a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift index baab7479..de79cec3 100644 --- a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift +++ b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift @@ -244,10 +244,13 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol return false }) else { return } - // Refresh the cell. + // Refresh the cell. (reload loses cell selection) + let selectedIndex = tableView.indexPathForSelectedRow let indexPath = IndexPath(row: index, section: 0) - _ = tableView(tableView, cellForRowAt: indexPath) - performTableViewUpdates() + tableView.reloadRows(at: [indexPath], with: .automatic) + if let selectedIndex = selectedIndex { + tableView.selectRow(at: selectedIndex, animated: false, scrollPosition: .none) + } } open override func removeMolecules(_ molecules: [ListItemModelProtocol & MoleculeModelProtocol], animation: UITableView.RowAnimation) {