今回は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で拡張してから書いてもいいです
あとは決まり文句みたいなものだと思って書いてください
雑な解説になってしまいすみません
今回はこれで終わります