[iPhone] TextField UIKeyboardType を使う

TextFieldでユーザー登録画面などを作る時に
意外と簡単にできない事情があります

  1. 入力に応じたキーボード
  2. ユーザーは入力後に確定を実行するとは限らない
  3. キーボードは自動的には閉じない

 
例えば、文字、数字、メルアド表記が混在する
登録画面のケースを考えます

Simulator Screen Shot 2015.12.25 16.13.54

Swift 3.0
Xcode 8.0

 

sponsored link

UIKeyboardType

 
キーボードのタイプは色々な種類があります。入力毎にキーボードのタイプを変えるにはこのようにします。

 

addTarget

 
addTarget を使って文字が入力されるのを検出します

ネット上でユーザー登録するケースが多いかもしれませんが、いちいち項目ごとに確定することは滅多にありません。まとめて「登録」ボタンをクリックということを想定します。

確定せずに、そのまま次の項目に移ったとしても最終の状態を保持していれば大丈夫です。

そもそも、numberPad などには確定がない

 

Keyboardを閉じる

 
キーボードの閉じ方はこちらにありますが、この場合はそれぞれ使います。
気まぐれなユーザーは、確定を押すこともあるのでその場合は、キーボードを隠します。

ということでまとめてみると
ViewController.swift

 
「Register」ボタンをタップした時に
各項目の最新データをまとめて表示しています
 

simulator-screen-shot-sep-26-2016-19-48-16