SwiftでUITextFieldを追加
// UITextFieldを生成
let textField = UITextField()
textField.frame = CGRect(x: 10, y: 100, width: UIScreen.main.bounds.size.width-20, height: 38)
// プレースホルダを設定
textField.placeholder = "入力してください。"
// キーボードタイプを指定
textField.keyboardType = .default
// 枠線のスタイルを設定
textField.borderStyle = .roundedRect
// 改行ボタンの種類を設定
textField.returnKeyType = .done
// テキストを全消去するボタンを表示
textField.clearButtonMode = .always
// UITextFieldを追加
self.view.addSubview(textField)
// デリゲートを指定
textField.delegate = self
UITextFieldDelegateのメソッド
// 改行ボタンを押した時の処理
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
print("Return")
return true
}
// クリアボタンが押された時の処理
func textFieldShouldClear(_ textField: UITextField) -> Bool {
print("Clear")
return true
}
// テキストフィールドがフォーカスされた時の処理
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
print("Start")
return true
}
// テキストフィールドでの編集が終了する直前での処理
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
print("End")
return true
}
キーボードタイプ(keyboardType)
| 値 |
説明 |
| .asciiCapable |
標準のASCII文字を表示するキーボード |
| .asciiCapableNumberPad |
ASCII数字だけを出力する数字パッド |
| .decimalPad |
数字と小数点のあるキーボード |
| .default |
現在の入力メソッドのデフォルトキーボード |
| .emailAddress |
電子メールアドレスを入力するために最適化されたキーボード |
| .namePhonePad |
人の名前または電話番号を入力するためのキーパッド |
| .numberPad |
テンキーパッド |
| .numbersAndPunctuation |
数字と句読点のキーボード |
枠線のスタイル(borderStyle)
| 値 |
説明 |
| .bezel |
立体的な四角い枠線 |
| .line |
四角い枠線 |
| .none |
枠線なし |
| .roundedRect |
角丸の枠線 |
改行キータイプ(returnKeyType)
| 値 |
説明 |
| .continue |
Continue(続ける) |
| .default |
return(改行) |
| .done |
Done(完了) |
| .emergencyCall |
EmergencyCall(緊急電話) |
| .go |
Go(開く) |
| .google |
Search(検索) |
| .join |
Join(接続) |
| .next |
Next(次へ) |
クリアボタン表示指定(clearButtonMode)
| 値 |
説明 |
| .always |
常に表示 |
| .never |
表示しない |
| .unlessEditing |
入力されたテキストがあり、フォーカスが当たっていない時に表示 |
| .whileEditing |
入力されたテキストがあり、フォーカスが当たっている時に表示 |
動作環境:Xcode10.0, Swift4.2
コメント
コメントはありません。