1

作成中のアプリにオープン ソースのメッセージング UI ライブラリを使用しています。ユーザーが新しい会話を開始するとき、「チャット ビュー」が表示され、キーボードが既に表示され、カーソルがテキスト フィールドに表示されるようにします (ほとんどの既存のチャット アプリケーションと同様)。JSQMessagesViewControllerキーボードが既に起動している状態でを強制的に表示する方法はありますか?

私はこれを使用して実装しようとしました:

self.keyboardController.textView.becomeFirstResponder()

ただし、これにより、ビューが表示されるとすぐにキーボードがポップアップします... それでも、ツールバーは約 1 秒遅れます (それほど大きくはありませんが、痛々しいほど目立ちます)。さらに、このソリューションは、通常のように下向きのジェスチャーを使用してキーボードを閉じることを無効にしているようです。

これをすぐに解決するために欠けているものはありますか? または、この機能を得るためにライブラリを変更する必要がありますか...もしそうなら、どこから始めればよいでしょうか?

4

4 に答える 4

0

このようにしてみてください

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

--> myTextField にフォーカスし、キーボードを自動的に開きます。それがあなたを助けることを願っています。

于 2015-08-13T10:09:37.603 に答える
0

これは私にとってはうまくいきました。それは迅速ですが、翻訳するのは簡単なはずです。

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

    self.inputToolbar!.contentView!.textView!.becomeFirstResponder()
}
于 2015-09-25T21:12:54.617 に答える
-1

これは遅すぎるかもしれませんが、私の場合、呼び出すのを忘れたため、super.viewDidAppear(animated)テキストビューがキーボードより遅れました。その呼び出しを追加すると、問題はなくなりました。

于 2016-05-16T05:16:11.113 に答える