Forráskód Böngészése

fix disappearing input bar when deleting messages

cyberta 4 éve
szülő
commit
abb67d3d17
1 módosított fájl, 9 hozzáadás és 4 törlés
  1. 9 4
      deltachat-ios/Chat/ChatViewController.swift

+ 9 - 4
deltachat-ios/Chat/ChatViewController.swift

@@ -135,9 +135,14 @@ class ChatViewController: UITableViewController {
             action: #selector(BaseMessageCell.messageDelete),
             action: #selector(BaseMessageCell.messageDelete),
             onPerform: { [weak self] indexPath in
             onPerform: { [weak self] indexPath in
                 guard let self = self else { return }
                 guard let self = self else { return }
-                logger.debug("delete message")
-                let msg = DcMsg(id: self.messageIds[indexPath.row])
-                self.askToDeleteMessage(id: msg.id)
+                self.tableView.becomeFirstResponder()
+                // DispatchQueue.main.async ensures the table view has already become
+                // first responder before askToDeleteMessage shows a new UIAlertController
+                DispatchQueue.main.async { [weak self] in
+                    guard let self = self else { return }
+                    let msg = DcMsg(id: self.messageIds[indexPath.row])
+                    self.askToDeleteMessage(id: msg.id)
+                }
             }
             }
         )
         )
 
 
@@ -827,7 +832,7 @@ class ChatViewController: UITableViewController {
         confirmationAlert(title: title, actionTitle: String.localized("delete"), actionStyle: .destructive,
         confirmationAlert(title: title, actionTitle: String.localized("delete"), actionStyle: .destructive,
                           actionHandler: { _ in
                           actionHandler: { _ in
                             self.dcContext.deleteMessage(msgId: id)
                             self.dcContext.deleteMessage(msgId: id)
-                            self.dismiss(animated: true, completion: nil)})
+                          })
     }
     }
 
 
     private func askToForwardMessage() {
     private func askToForwardMessage() {