1

多くのメッセージング アプリと同じユーザー エクスペリエンスを実現したいと考えています。つまり、テキスト ビューが画面の下部に表示され、タップするとキーボードと共に表示されます。キーボード通知に基づいてテキストビューを上に移動するなど、複数の方法で実行できます。しかし、それを行う最良の方法は、 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 ハックを使用しているに違いありません。

敬具クリス

4

0 に答える 0