Swift3:用户输入的实时 UiLabel 更新
Swift3: Live UiLabel update on user input
我到处搜索,似乎找不到关于实时更新标签的明确答案。
如何在不使用按钮的情况下更新 UILabel
(实时)。例如,我有一个文本字段和一个连接到 view controller
的 UIlabel
。
一旦用户开始在 textfield
中键入内容,相同的文本就会实时显示在 UI 标签上。因此,这 消除了 使用 按钮 来更新标签。我该怎么做?
您正在更新文本字段中的标签shouldChangeCharactersInRange
委托方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// Update Your label here......
YourLabel.text = textField.text
return true
}
使用委托方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
label.text = textField.text
return true
}
选项 1:您可以直接对值已更改的文本字段进行操作
@IBAction func textFieldValueChange(_ sender: UITextField) {
self.label.text = sender.text
}
选项 2:将 Delegate 赋予 TextField
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
label.text = textField.text
return true
}
步骤 1:Extend class 到 UITextFieldDelegate
class ViewController: UIViewController,UITextFieldDelegate
In ViewDidLoad()
第 2 步:将以下代码添加到 ViewDidLoad()
txtDemo.delegate = self
txtDemo.addTarget(self, action: #selector(LabelChanged(_:)), for:.editingChanged)
第 3 步:创建新函数如下:
func LabelChanged(_ sender:Any) {
lblDemo.text = txtDemo.text
}
Or Also use delegate method:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
lblDemo.text = txtDemo.text
return true
}
这里lblDemo是UILabel outlet,txtDemo是UITextField outlet
我到处搜索,似乎找不到关于实时更新标签的明确答案。
如何在不使用按钮的情况下更新 UILabel
(实时)。例如,我有一个文本字段和一个连接到 view controller
的 UIlabel
。
一旦用户开始在 textfield
中键入内容,相同的文本就会实时显示在 UI 标签上。因此,这 消除了 使用 按钮 来更新标签。我该怎么做?
您正在更新文本字段中的标签shouldChangeCharactersInRange
委托方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// Update Your label here......
YourLabel.text = textField.text
return true
}
使用委托方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
label.text = textField.text
return true
}
选项 1:您可以直接对值已更改的文本字段进行操作
@IBAction func textFieldValueChange(_ sender: UITextField) {
self.label.text = sender.text
}
选项 2:将 Delegate 赋予 TextField
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
label.text = textField.text
return true
}
步骤 1:Extend class 到 UITextFieldDelegate
class ViewController: UIViewController,UITextFieldDelegate
In ViewDidLoad()
第 2 步:将以下代码添加到 ViewDidLoad()
txtDemo.delegate = self
txtDemo.addTarget(self, action: #selector(LabelChanged(_:)), for:.editingChanged)
第 3 步:创建新函数如下:
func LabelChanged(_ sender:Any) {
lblDemo.text = txtDemo.text
}
Or Also use delegate method:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
lblDemo.text = txtDemo.text
return true
}
这里lblDemo是UILabel outlet,txtDemo是UITextField outlet