UITextField - テキスト入力欄表示
説明
UITextFieldはUIControlのサブクラス
ソースコード
UITextFieldSample.swift
import UIKit class UITextFieldSample: UIView, UITextFieldDelegate { override init(frame: CGRect) { super.init(frame: frame) let tf = UITextField(frame: CGRectMake(0, 0, 200, 40)) self.addSubview(tf) tf.center = self.center // デリゲートを指定 (selfはUITextFIeldDelegateを継承している必要がある) tf.delegate = self // 最初から入力してあるテキスト tf.text = "text" // 何も入力していない時に表示されるテキスト tf.placeholder = "placeholder" // 境界のスタイル (None, Line, Bezel, RoundedRect) tf.borderStyle = UITextBorderStyle.RoundedRect // 消去ボタン表示の設定 (Never, WhileEditing, UnlessEditing, Always) tf.clearButtonMode = UITextFieldViewMode.WhileEditing // テキストフィールド以外をタップしたらキーボードを閉じる keyboardCloseEnable(tf) } func textFieldDidBeginEditing(textField: UITextField) { // 編集を開始した時の処理 println("text field edit begin") } func textFieldShouldEndEditing(textField: UITextField) -> Bool { // 編集を終了した時の処理 println("text field edit end") return true } func textFieldShouldClear(textField: UITextField) -> Bool { // 消去ボタンを押した時の処理 println("text field clear") return true } func textFieldShouldReturn(textField: UITextField) -> Bool { // returnボタンを押した時の処理 textField.resignFirstResponder() println("text field return") return true } var sendText: UIView? func keyboardCloseEnable(view: UIView) { let tap = UITapGestureRecognizer(target: self, action: "closeKeyboard:") tap.numberOfTapsRequired = 1 self.addGestureRecognizer(tap) sendText = view } func closeKeyboard (recognizer:UIPanGestureRecognizer){ sendText?.resignFirstResponder() } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
ViewController.swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = colorPattern.back() self.view.addSubview(UITextFieldSample(frame: self.view.frame)) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }