如何同时更改文本字段和标签中的文本
How to change text in text field and label at the same time
有人知道如何同时在 textField 和 label 上写消息吗?
当我在 textField 中写入消息时,我希望同时在标签上逐个字符地看到该文本....
是否有任何 UItextField 委托?
尝试将侦听器添加到 textfeild
的 editingChanged
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
和
@objc func textFieldDidChange(_ textField: UITextField) {
yourLabel.text = textField.text
}
我们可以把方法 SH_Kahn 进一步展示:
import UIKit
extension UILabel {
@objc
func input(textField: UITextField) {
self.text = textField.text
}
}
我们添加了一个签名与添加目标机制兼容的方法。此方法将获取 textField 的文本并将其设置为标签的文本。
class ViewController: UIViewController {
@IBOutlet weak var outputLabel: UILabel!
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.inputField.addTarget(outputLabel, action: #selector(UILabel.input(textField:)), for: .editingChanged)
}
}
但如果我们更频繁地需要它,我们可能想让它更易于使用:
extension UILabel {
@objc
func input(textField: UITextField) {
self.text = textField.text
}
func connect(with textField:UITextField){
textField.addTarget(self, action: #selector(UILabel.input(textField:)), for: .editingChanged)
}
}
class ViewController: UIViewController {
@IBOutlet weak var outputLabel: UILabel!
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
outputLabel.connect(with: inputField)
}
}
有人知道如何同时在 textField 和 label 上写消息吗? 当我在 textField 中写入消息时,我希望同时在标签上逐个字符地看到该文本....
是否有任何 UItextField 委托?
尝试将侦听器添加到 textfeild
的 editingChangedtextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
和
@objc func textFieldDidChange(_ textField: UITextField) {
yourLabel.text = textField.text
}
我们可以把方法 SH_Kahn 进一步展示:
import UIKit
extension UILabel {
@objc
func input(textField: UITextField) {
self.text = textField.text
}
}
我们添加了一个签名与添加目标机制兼容的方法。此方法将获取 textField 的文本并将其设置为标签的文本。
class ViewController: UIViewController {
@IBOutlet weak var outputLabel: UILabel!
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.inputField.addTarget(outputLabel, action: #selector(UILabel.input(textField:)), for: .editingChanged)
}
}
但如果我们更频繁地需要它,我们可能想让它更易于使用:
extension UILabel {
@objc
func input(textField: UITextField) {
self.text = textField.text
}
func connect(with textField:UITextField){
textField.addTarget(self, action: #selector(UILabel.input(textField:)), for: .editingChanged)
}
}
class ViewController: UIViewController {
@IBOutlet weak var outputLabel: UILabel!
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
outputLabel.connect(with: inputField)
}
}