]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Tunnels list: Deselect rows correctly
authorRoopesh Chander <roop@roopc.net>
Fri, 7 Dec 2018 06:19:10 +0000 (11:49 +0530)
committerRoopesh Chander <roop@roopc.net>
Fri, 7 Dec 2018 07:06:23 +0000 (12:36 +0530)
Do it like UITableViewController.clearsSelectionOnViewWillAppear would.

Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift

index 4cff27c4e58af0d12104bcbe105abc7879106c07..f558de4222572af3d3ff6cbb88a52511569e2955 100644 (file)
@@ -91,6 +91,13 @@ class TunnelsListTableViewController: UIViewController {
         tunnelsManager.tunnelsListDelegate = self
     }
 
+    override func viewWillAppear(_: Bool) {
+        // Remove selection when getting back to the list view on iPhone
+        if let tableView = self.tableView, let selectedRowIndexPath = tableView.indexPathForSelectedRow {
+            tableView.deselectRow(at: selectedRowIndexPath, animated: false)
+        }
+    }
+
     @objc func addButtonTapped(sender: AnyObject) {
         if (self.tunnelsManager == nil) { return } // Do nothing until we've loaded the tunnels
         let alert = UIAlertController(title: "", message: "Add a new WireGuard tunnel", preferredStyle: .actionSheet)
@@ -254,7 +261,6 @@ extension TunnelsListTableViewController: UITableViewDataSource {
 
 extension TunnelsListTableViewController: UITableViewDelegate {
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        tableView.deselectRow(at: indexPath, animated: true)
         guard let tunnelsManager = tunnelsManager else { return }
         let tunnel = tunnelsManager.tunnel(at: indexPath.row)
         let tunnelDetailVC = TunnelDetailTableViewController(tunnelsManager: tunnelsManager,