はじめに
キーボードタイプの書き方や種類一旦ここにまとめようかなと思います。
定義
UIKeyboardTypeの定義をJump to Definition(コマンドキーを押しながら調べたいところをクリック)で調べてみました。
以下の通りです。
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
}
種類
種類は合計13種類あるみたいです。
- default
- asciiCapable
- numbersAndPunctuation
- URL
- numberPad
- phonePad
- namePhonePad
- emailAddress
- decimalPad
- webSearch
- asciiCapableNumberPad
- alphabet
実装方法
TextFieldをアウトレットで接続して、viewDidLoadで表示のコードを書きます。
.以降を変更してそれぞれのキーボードタイプを見ていきます。
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
}
}
実装結果
最後に
13種類もあるなんて知りませんでした。
状況に合わせて使いこなせるようにしたいですね!