💬

[SwiftUI]キーボードのreturnキーを変える方法

2021/06/21に公開1

UITextFieldにはreturnキーを変えるreturnKeyTypeがあります。
SwiftUIではこれに相当するものがない(iOS14時点)ため、裏側で使われているUITextFieldで設定する方法を書きます。

方法

下記のappearanceを使います。

UITextField.appearance().returnKeyType = .done

この方法は設定が簡単ですが、全体のTextFieldが変更されてしまうので注意が必要です。

実装

実際に使う場合は


struct ContentView: View {

.....
  .onAppear(perform: {
                DispatchQueue.main.async {
                    UITextField.appearance().returnKeyType = .done
                }
            })
.....

}

  • onAppearに記載することで、その画面を開いたときに見た目を変えます。
  • DispatchQueue.main.asyncを使います。使わないとクラッシュしますが詳しい原因は調べていません。

参考

別な方法
https://zenn.dev/konomae/articles/5855ba8ac39ec8

Discussion