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で拡張してから書いてもいいです
あとは決まり文句みたいなものだと思って書いてください
雑な解説になってしまいすみません
今回はこれで終わります
Author And Source
この問題について(Swift UITextField), 我々は、より多くの情報をここで見つけました https://qiita.com/apapapa/items/8b837d7a712be5fe58b7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .