我有几个UITextField
和一个UIButton
。如果我点按UIButton
,我想在活动UITextField
中放置一些静态文本。
类似于:
@IBAction func buttonEen(sender: UIButton) {
'active textField'.text = "static text"
}
但是,如何确定哪个UITextField
是有效UITextField
以及我该如何找到它?
答案 0 :(得分:3)
要在上一个有效的UITextField中撰写文字,您必须让UIViewController
成为UITextField
的代表
例如:
class ViewController: UIViewController, UITextFieldDelegate
声明activeField
变量
例如:
var activeField: UITextField?
然后实现textFieldDidBeginEditing
例如:
func textFieldDidBeginEditing(textField: UITextField)
{
activeField = textField
}
所以你的按钮功能就像
@IBAction func buttonEen(sender: UIButton) {
if activeField
{
activeField.text = "static text"
}
}
答案 1 :(得分:1)
首先,您需要创建文本字段委托(可能在'ViewDidLoad()'中):
activeTxtField.delegate = self
然后您需要实现textField委托函数:
extension 'YourVC': UITextFieldDelegate {
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == activeTxtField {
// Do whatever you want
// e.g set textField text to "static text"
}
}
}