キーボードタイプの種類とコード

##はじめに
キーボードタイプの書き方や種類一旦ここにまとめようかなと思います。

##定義
UIKeyboardTypeの定義をJump to Definition（コマンドキーを押しながら調べたいところをクリック）で調べてみました。
以下の通りです。

```swift
public enum UIKeyboardType : Int {

    
    case `default` = 0 // Default type for the current input method.

    case asciiCapable = 1 // Displays a keyboard which can enter ASCII characters

    case numbersAndPunctuation = 2 // Numbers and assorted punctuation.

    case URL = 3 // A type optimized for URL entry (shows . / .com prominently).

    case numberPad = 4 // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.

    case phonePad = 5 // A phone pad (1-9, *, 0, #, with letters under the numbers).

    case namePhonePad = 6 // A type optimized for entering a person's name or phone number.

    case emailAddress = 7 // A type optimized for multiple email address entry (shows space @ . prominently).

    @available(iOS 4.1, *)
    case decimalPad = 8 // A number pad with a decimal point.

    @available(iOS 5.0, *)
    case twitter = 9 // A type optimized for twitter text entry (easy access to @ #)

    @available(iOS 7.0, *)
    case webSearch = 10 // A default keyboard type with URL-oriented addition (shows space . prominently).

    @available(iOS 10.0, *)
    case asciiCapableNumberPad = 11 // A number pad (0-9) that will always be ASCII digits.

    
    public static var alphabet: UIKeyboardType { get } // Deprecated
}
```

##種類
種類は合計１３種類あるみたいです。

+ default
+ asciiCapable
+ numbersAndPunctuation
+ URL
+ numberPad
+ phonePad
+ namePhonePad
+ emailAddress
+ decimalPad
+ twitter
+ webSearch
+ asciiCapableNumberPad
+ alphabet

##実装方法
TextFieldをアウトレットで接続して、viewDidLoadで表示のコードを書きます。
.以降を変更してそれぞれのキーボードタイプを見ていきます。


```swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet var textField1: UITextField!
    @IBOutlet var textField2: UITextField!
    @IBOutlet var textField3: UITextField!
    @IBOutlet var textField4: UITextField!
    @IBOutlet var textField5: UITextField!
    @IBOutlet var textField6: UITextField!
    @IBOutlet var textField7: UITextField!
    @IBOutlet var textField8: UITextField!
    @IBOutlet var textField9: UITextField!
    @IBOutlet var textField10: UITextField!
    @IBOutlet var textField11: UITextField!
    @IBOutlet var textField12: UITextField!
    @IBOutlet var textField13: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        self.textField1.keyboardType = .default
        self.textField2.keyboardType = .asciiCapable
        self.textField3.keyboardType = .numbersAndPunctuation
        self.textField4.keyboardType = .URL
        self.textField5.keyboardType = .numberPad
        self.textField6.keyboardType = .phonePad
        self.textField7.keyboardType = .namePhonePad
        self.textField8.keyboardType = .emailAddress
        self.textField9.keyboardType = .decimalPad
        self.textField10.keyboardType = .twitter
        self.textField11.keyboardType = .webSearch
        self.textField12.keyboardType = .asciiCapableNumberPad
        self.textField13.keyboardType = .alphabet
    }
}
```

##実装結果
①　default
![スクリーンショット 2020-11-21 17.33.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/b39e4984-c9e1-693b-1491-c80468c043fc.png)


②　asciiCapable
![スクリーンショット 2020-11-21 17.32.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/6025d449-6182-5259-599a-99e29a9ac3b3.png)

③　numbersAndPunctuation
![スクリーンショット 2020-11-21 17.35.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/6ca1dea2-c2e3-9682-c41a-f748a19388c7.png)

④　URL
![スクリーンショット 2020-11-21 17.40.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/fd094fd0-2459-3454-1df3-65f98c1d0b5d.png)

⑤　numberPad
![スクリーンショット 2020-11-21 17.41.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/70b1b453-dd9c-69e1-bda6-ccb2455eed13.png)

⑥　phonePad
![スクリーンショット 2020-11-21 17.42.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/b0c53c8c-f6a1-1f83-1443-9636321adc73.png)

⑦　namePhonePad
![スクリーンショット 2020-11-21 17.42.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/e150e05c-ed52-1dbc-f23e-efb7faea7605.png)

⑧　emailAddress
![スクリーンショット 2020-11-21 17.43.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/3ef93ecf-4dc9-5b30-09eb-398e5807a079.png)

⑨　decimalPad
![スクリーンショット 2020-11-21 17.44.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/d036c6cd-61a0-b7c2-3241-dee941e2150f.png)

⑩　twitter
![スクリーンショット 2020-11-21 17.45.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/9868e14a-4bb9-f207-da1c-1cf3ed4f5311.png)

⑪　webSearch
![スクリーンショット 2020-11-21 17.45.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/b710fa6a-c7a7-43a8-6cdf-42d8a38fa996.png)

⑫　asciiCapableNumberPad
![スクリーンショット 2020-11-21 17.46.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/f9021e85-f952-e207-82d1-72b7b2186c25.png)

⑬　alphabet
![スクリーンショット 2020-11-21 17.47.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/a8a9cce7-0016-40f4-d890-775daac0ed7a.png)

##最後に
１３種類もあるなんて知りませんでした。
状況に合わせて使いこなせるようにしたいですね！