2016-09-29 42 views
0

這只是在我正在開發的自定義應用中的Swift 3中開始。 基本上,當我在鍵盤上鍵入東西並按下發送, 文字不會消失。它只是呆在那裏,就好像你沒有按發送(但你做到了)。按下發送後,在鍵盤中輸入的文本並沒有消失

我正在使用JSQMessagesViewController,但我已經正確實施我認爲它在Swift3之前工作。我還沒有看到任何人有過這個問題,至少在Google上看起來好像是這樣。

此錯誤已在iOS默認鍵盤和SwiftKey上進行測試。

鍵盤在其他聊天應用程序上正常工作,如環聊或snapchat等。所以我認爲這是我的應用程序特定的東西。

我不確定哪些代碼與包含相關,請告訴我,我將編輯此文章以包含它。我使用IQKeyboardManagerSwift擴展名,但是當我禁用該擴展時,該錯誤仍然存​​在。

screenshot of the bug

回答

0

由於您的問題沒有代碼,這是很難幫助,但是...

確保您的類包含在類聲明UITextFieldDelegate,並做到這一點:

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    textField.resignFirstResponder() 
    return true 
} 

這會在按下「enter」鍵時退出鍵盤。

您還可以添加一個IBAction,其中調用textField.resignFirstResponder()

+0

感謝您的評論。好吧,據我瞭解,resignFirstResponder()是用於隱藏鍵盤。我不想隱藏鍵盤,但我想按下發送後鍵入的文本消失。所以我不知道firstResponder有沒有什麼可以做這個bug的。 – makthrow

+0

啊,我一接近電腦就會糾正。 – NonCreature0714

1

好的我修好了。不知道爲什麼它以前工作,但隨機停止工作

我在JSQMessagesViewController中添加了self.finishSendingMessage函數,並修復了它。

override func didPressSend(_ button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: Date!) { 

    createChatsMessagesFor(self.chatID!, senderId: senderId, text: text) 
    finishSendingMessage(animated: true) 
} 
相關問題