【发布时间】:2018-10-26 08:54:20
【问题描述】:
我想在表格视图单元格中填写文本字段时启用视图控制器中的按钮。
我不知道如何解决这个问题。
对不起。我英语不成熟。
- button(viewController) isEnable = false
- 填充文本字段(在 tableviewcell 内)
- button(viewController) isEnable = true
1。视图控制器
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate {
@IBOutlet var tableView: UITableView!
@IBOutlet var viewLabel: UILabel!
@IBOutlet var clickBtn: UIButton!
var cell: CustomTableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
self.clickBtn.isEnabled = false
cell.textFieldCell.addTarget(self, action: #selector(editingChanged), for: .editingChanged)
cell.textFieldCell2.addTarget(self, action: #selector(editingChanged), for: .editingChanged)
}
@objc func editingChanged(sender: UITextField) {
sender.text = sender.text?.trimmingCharacters(in: .whitespaces)
guard
let text1 = cell.textFieldCell.text, !text1.isEmpty,
let text2 = cell.textFieldCell2.text, !text2.isEmpty
else
{
self.clickBtn.isEnabled = false
return
}
clickBtn.isEnabled = true
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! CustomTableViewCell
return cell
}
}
2。自定义表格视图
import UIKit
class CustomTableViewCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet var myLabel: UILabel!
@IBOutlet var textFieldCell: UITextField!
@IBOutlet var textFieldCell2: UITextField!
}
【问题讨论】:
-
检查这是否有帮助。 stackoverflow.com/questions/52063413/…
-
内部 viewDidLoad 单元格值将为零,并且它仅引用最后一个单元格,因此不要放置全局单元格。由于表格视图的可重用单元格,您需要维护数组以检查 tex 字段值是否为字段