Swift UITextField


今回はTextFieldの使い方です

TextFieldは選択すると文字を入力できるものですね

今回もUIの接続をしたところから解説していきます

ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func button(_ sender: Any) {
    }   
}

接続後のコードです

まずはtextFieldに入力した文字をbuttonを押した時にlabelに表示するようにしていきましょう

ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func button(_ sender: Any) {
        label.text = textField.text
    }   
}

これでlabelに文字を表示できます
しかし、このままではキーボードが表示されたままになってしまいます
なので、キーボードのreturnを押した時にキーボードを閉じるようにします

ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        textField.delegate = self   //追記
    }

    @IBAction func button(_ sender: Any) {
        label.text = textField.text
    }   
}

//以下を追記
extension ViewController: UITextFieldDelegate {
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
    }
}

textField.delegate = selfでdelegateを設定してあげます
delegateについてはいづれ記事を書きます
delegateを設定するとUITextFieldDelegateを継承して!と言われるのでfixを押してもいいですし、extensionで拡張してから書いてもいいです
あとは決まり文句みたいなものだと思って書いてください

雑な解説になってしまいすみません
今回はこれで終わります