如何同时更改文本字段和标签中的文本

Posted

技术标签:

【中文标题】如何同时更改文本字段和标签中的文本【英文标题】:How to change text in text field and label at the same time 【发布时间】:2018-01-27 16:17:44 【问题描述】:

有人知道如何同时在 textField 和 label 上写消息吗? 当我在 textField 上写消息时,我想在标签上看到该文本,一个字符一个字符,同时....

是否有任何 UItextField 委托?

【问题讨论】:

这个答案可以帮助你:***.com/a/28395000/7620713 【参考方案1】:

尝试将侦听器添加到 textfeild 的 editingChanged

textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)

@objc func textFieldDidChange(_ textField: UITextField) 

 yourLabel.text = textField.text


【讨论】:

【参考方案2】:

我们可以将 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)
    

【讨论】:

以上是关于如何同时更改文本字段和标签中的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何快速更改标签中的文本?

在文本字段中输入不同的输入到swift中的标签

AlertController TextField 输入以更改标签中的文本[重复]

MDL 浮动标签文本字段:更改其颜色

如何将文本字段中的数据推送到另一个 VC 中的标签

如何在运行时更改集合视图标题中的标签文本位置?