⌨️

【SwiftUI】iOS 15以上でキーボードのreturnキーのラベルを変更する方法

2023/04/06に公開

SwiftUIでキーボードのreturnキーのラベルを変更を変更したいと思ったので調べました。

環境

  • Xcode 14.2
  • iOS 16.2

iOS 15未満では

onAppearUITextField.appearance().returnKeyTypeにアクセスしたり、UIViewRepresentableを使用してカスタムTextFieldを作成する方法がありましたが、どれもreturnキーのラベルを変えたいだけという内容に比べて、やることや考えることが多かった気がします。

iOS 15以上

iOS 15からsubmitLabel(_:)モディファイアが用意されてるのでとても簡単にreturnキーのラベルを変更出来ます。

func submitLabel(_ submitLabel: SubmitLabel) -> some View

使用例

struct ContentView: View {
    
    @State private var text: String = ""
    
    var body: some View {
        TextField("Input text here...", text: $text)
+           .submitLabel(.done)
            .padding()
    }
}

プレビュー

submitLabel-demo

おわりに

とてもサクッと導入できるので、iOS 15以降では積極的に使っていきたいですね!

returnキーのラベルをカスタムする方法はあるのかな?ちょっと興味があるのでいつか調べたいと思います。

lilossa-banner

参考

https://developer.apple.com/documentation/swiftui/view/submitlabel(_:)
https://zenn.dev/usk2000/articles/94fa33d9b6f308
https://www.hackingwithswift.com/quick-start/swiftui/how-to-customize-the-submit-button-for-textfield-securefield-and-texteditor

Discussion