ReturnKeyType (submitLabel)早見表

この記事は iOS Advent Calendar 2024 の5日目の記事です。

テキスト入力機能があるアプリケーションを作る際、キーボードの「Return」キーを変更することができます。
UIKitでは "Return Key", SwiftUI では "Submit Label" と呼ばれています。
しかし、公式ドキュメントを読んでもどう変更されるのかピンときません。

そこで、今回はその早見表を作成しました。

また、サンプルコードも作成しました。
こちらもぜひ。

https://github.com/KaitoMuraoka/return-type-sample-code

# UIKit 
このプロパティを別のキー・タイプに設定すると、Returnキーの可視タイトルが変更され、通常、キーボードが押されるとキーボードが解除されます。このプロパティのデフォルト値はUIReturnKeyType.defaultです。

```swift: UIKit
let textField = UITextField()
textField.returnKeyType = .default
```

このプロパティ値のデフォルト値は、`default` となっています。
`default` の場合、リターンキーは英語では "return"、日本語では「改行」となります。

![スクリーンショット 2024-12-05 0.25.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/3a536ed8-d264-da26-2256-9c49830af351.png)


その他のプロパティは、以下のようになります。

## go
Returnキーの可視タイトルをGo(開く)にします。

![スクリーンショット 2024-12-05 0.26.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/477025eb-154d-dbde-6e19-b4c862a42261.png)


https://developer.apple.com/documentation/uikit/uireturnkeytype/go

## google
Return キーのタイトルを Google(検索) であることを指定します。

![スクリーンショット 2024-12-05 0.27.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/f2d42da8-f68b-69c9-8753-47e0d7f0fb63.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/google

## join
Return キーのタイトルを join(接続) にします。

![スクリーンショット 2024-12-05 0.27.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/0d89cba6-3694-7eca-68d7-bdff48831a30.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/join

## next
Return キーのタイトルを Next(次へ) にします。

![スクリーンショット 2024-12-05 0.28.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/620659f7-856f-8b91-5df7-ea502fa0eda1.png)


https://developer.apple.com/documentation/uikit/uireturnkeytype/next

## route
Return キーのタイトルを Route(経路) にします。

![スクリーンショット 2024-12-05 0.28.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/402fd2fc-39ac-9e6e-b0c9-2312982df90a.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/route

## search
Return キーのタイトルを Search(検索) にします。

![スクリーンショット 2024-12-05 0.29.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/c2bb4b1f-61bf-2bc8-1dde-e054077dd432.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/search

## send
Return キーのタイトルを Send(送信) にします。

![スクリーンショット 2024-12-05 0.29.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/b1566eeb-e9ae-efc9-1736-d1c611326c22.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/send

## yahoo
Return キーのタイトルを Search(検索) にします。

![スクリーンショット 2024-12-05 0.29.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/87b30cd1-a574-8d48-dc3c-25c021ab9efb.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/yahoo

## done
Return キーのタイトルを done(完了) にします。
![スクリーンショット 2024-12-05 0.39.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/f61d1c1f-356e-74a2-69af-f64cdeaf1d2a.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/done

## emergencyCall
Return キーのタイトルを EmergencyCall(緊急電話) にします。

![スクリーンショット 2024-12-05 0.39.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/aa1f02f8-fbe0-d2d2-169a-5e8ecd541ce3.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/emergencycall

## continue
Return キーのタイトルを Continue(続ける) にします。

![スクリーンショット 2024-12-05 0.40.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/9c6c3273-f123-61de-ce2d-128810c975e8.png)

https://developer.apple.com/documentation/uikit/uireturnkeytype/continue


# SwiftUI
ビュー階層内のサブミッションのラベルを記述するセマンティックラベルです。
- iOS 15.0+
- iPadOS 15.0+
- Mac Catalyst 15.0+
- macOS 12.0+
- tvOS 15.0+
- visionOS 1.0+
- watchOS 8.0+

から使うことができます。

UIKitと同様、デフォルトは「改行」となっています。
デフォルトというか、設定しない場合は、といった方が正確なんですけどね。

```swift:SwiftUI
// default の場合
TextField("Return Key: default", text: $textField)

// default 以外の場合
TextField("Return Key: continue", text: $textField)
    .submitLabel(.continue)
```

![スクリーンショット 2024-12-05 0.52.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/07808ffa-a9ef-57dc-ec71-4b0a507ba646.png)


https://developer.apple.com/documentation/swiftui/submitlabel

## continue
Return キーのタイトルを Continue(続ける) にします。
![スクリーンショット 2024-12-05 0.54.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/b864ed52-c58e-7e29-60bb-a3e51932b0a8.png)

https://developer.apple.com/documentation/swiftui/submitlabel/continue

## done
Return キーのタイトルを done(完了) にします。
![スクリーンショット 2024-12-05 0.54.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/faac30fb-62b4-c878-4894-ad94cfffa137.png)

https://developer.apple.com/documentation/swiftui/submitlabel/done

## go
Returnキーの可視タイトルをGo(開く)にします。
![スクリーンショット 2024-12-05 0.54.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/2a2038a3-689f-3756-0cf6-d75f8d6e8b03.png)

https://developer.apple.com/documentation/swiftui/submitlabel/go

## join
Return キーのタイトルを join(接続) にします。
![スクリーンショット 2024-12-05 0.54.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/321835b8-0577-4e3a-7664-88209cb82db3.png)

https://developer.apple.com/documentation/swiftui/submitlabel/join

## next
Return キーのタイトルを Next(次へ) にします。
![スクリーンショット 2024-12-05 0.55.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/791553c1-4329-f255-1e15-e61fd0785ecf.png)

https://developer.apple.com/documentation/swiftui/submitlabel/next

## return
Return キーのタイトルを Return(改行) にします。
![スクリーンショット 2024-12-05 0.55.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/65743a34-8dd2-523a-cfeb-256edc4575ae.png)

https://developer.apple.com/documentation/swiftui/submitlabel/return

## route
Return キーのタイトルを Route(経路) にします。
![スクリーンショット 2024-12-05 0.55.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/8f0cfd9e-005d-2b23-be6d-ed93987469d5.png)

https://developer.apple.com/documentation/swiftui/submitlabel/route

## search
Return キーのタイトルを Search(検索) にします。
![スクリーンショット 2024-12-05 0.55.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/71f95681-ec23-6824-9242-feafeaea6d2f.png)

https://developer.apple.com/documentation/swiftui/submitlabel/search

## send
Return キーのタイトルを Send(送信) にします。
![スクリーンショット 2024-12-05 0.55.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707293/26b28f2d-1ee1-8fcf-5821-5a6c4af23adf.png)

https://developer.apple.com/documentation/swiftui/submitlabel/send

# 最後に
[開発ドキュメントにも画像があれば](https://qiita.com/KaitoMuraoka/items/ee8929b062ff962874c7)イメージしやすいんだけどなぁ
不備やこれがないやんって場合は編集リクエストからお願いします :bow: