繁体   English   中英

获取UITableView中所有UITextField的数组

[英]Get an array of all UITextFields in UITableView

我有一个静态TableView,用作用户输入的表单。 我目前正在向每个TextField添加目标,以便可以为UIControl.Event.editingChanged添加textFieldDidChange(_ textField: UITextField)

我想将所有TextField添加到一个数组中,这样我就可以遍历并为所有TextField执行此操作,而不必手动为每个TextField执行此操作。

我已经尝试了以下方法,但是不起作用:

var textFields = [UITextField]()
for view in self.view.subviews {
    if let textField = view as? UITextField {
        textFields.append(textField)
    }
}

任何帮助将不胜感激

在UITableViewController中创建IBOutlet集合连接,并将所有文本字段与该连接连接。 然后,您可以将此IBOutlet集合用作UITextField的数组

class TableViewController: UITableViewController {

    @IBOutlet var textFields: [UITextField]!

    override func viewDidLoad() {
        super.viewDidLoad()
        textFields.forEach {
            $0.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
        }
    }
    @objc func textFieldDidChange(_ textField: UITextField) {

    }
}

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM