簡體   English   中英

如何在鍵盤已經打開的情況下顯示JSQMessagesViewController?

[英]How do I present a JSQMessagesViewController with the keyboard already up?

我正在為正在構建的應用程序使用開源消息傳遞UI庫 當用戶開始新的對話時,我希望“聊天視圖”出現在鍵盤已經向上且光標位於文本字段上的情況下(類似於大多數現有的聊天應用程序)。 有沒有辦法強制JSQMessagesViewController隨鍵盤一起出現?

我嘗試使用以下方法實現此目的:

self.keyboardController.textView.becomeFirstResponder()

但是,這導致呈現視圖時鍵盤立即彈出...但是工具欄將滯后約一秒鍾(不是太多,但很明顯)。 另外,此解決方案似乎像通常一樣禁止使用向下的手勢來關閉鍵盤。

有什么我想解決的東西可以解決嗎? 還是我必須修改庫才能獲得此功能……如果是,我應該從哪里開始做?

嘗試這樣做

-(void)viewWillAppear:(BOOL)animated
{
      [super viewWillAppear:YES];
      [myTextField becomeFirstResponder];
}

->將焦點放在myTextField上並自動打開鍵盤。 希望對您有所幫助。

這對我有用。 速度很快,但翻譯起來應該很容易。

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(false)

    self.inputToolbar!.contentView!.textView!.becomeFirstResponder()
}

我希望通過單擊按鈕來實現,所以我添加了:

[self.inputToolbar.contentView.textView becomeFirstResponder];

如果要在加載時添加,請添加:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    [self.inputToolbar.contentView.textView becomeFirstResponder];
}

這可能為時已晚,但是在我的情況下,我忘了調用super.viewDidAppear(animated) ,這導致文本視圖落后於鍵盤。 一旦我添加了該呼叫,問題就消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM