多くのメッセージング アプリと同じユーザー エクスペリエンスを実現したいと考えています。つまり、テキスト ビューが画面の下部に表示され、タップするとキーボードと共に表示されます。キーボード通知に基づいてテキストビューを上に移動するなど、複数の方法で実行できます。しかし、それを行う最良の方法は、 of をオーバーライドすることinputAccessoryViewですUIViewController。これが私のコードです:
class ViewController: UIViewController {
@IBOutlet var textFieldContainer: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
override var canBecomeFirstResponder: Bool {
return true
}
override var inputAccessoryView: UIView {
get {
return self.textFieldContainer
}
}
}
できます。ただし、ナビゲーションコントローラーに埋め込むと、ビューのアーティファクト/グリッチがいくつか存在します。次のビデオを確認してください。
https://www.youtube.com/watch?v=Sx2yg5pFOZo
どんなフィードバックでも大歓迎です。
追加の質問: inputAccessoryView が変更されたことをビュー コントローラーに通知するにはどうすればよいですか? では、いつでもテキスト ビューを表示および非表示にできますか?
注意: Slack Text View Controller を試しました。ナビゲーション コントローラーをプッシュしているときに入力ビューに光る効果が見られるので、UI ハックを使用しているに違いありません。
敬具クリス