我必须到达扩展程序中的文本字段以获取更新文本,但是我无法致电扩展程序。我的自定义单元格的文本字段部分,我在表格视图中使用它。我必须到达此文本字段的扩展名并更改文本。我怎么能得到这个?
此代码来自我的表视图,我想更改扩展程序中用于选择器视图的dateTextField文本。
detailPromoDesc.webViewClient = object: WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
// Log
return true
}
}
这是我的选择器视图扩展名:
var x = 10;
while (x !== 41 && x % 2 == 0){
console.log(x)
x++
}
答案 0 :(得分:0)
您需要将标签添加到选择器,然后可以从标签访问单元格,然后执行所需的任何操作。
datePicker.tag = indexpath.row
现在在选择器委托中,您可以像这样获取单元格
let path = IndexPath.init(row: pickerView.tag, section: 2)
let cell = tableView.cellForRow(at: path)
现在您可以像这样在文本字段中更改值
cell.dateTextField.text = "your value"
答案 1 :(得分:0)
我认为您可以通过不同的方式来做到这一点。但我认为,一种简洁的方法是创建一个自定义选择器,并为其提供文本字段的引用。
这可以通过
来完成class CustomPicker: UIPickerView {
var pickerHost: UITextField?
required init(textField: UITextField?) {
super.init(frame: CGRect.zero)
showsSelectionIndicator = true
backgroundColor = UIColor.white
self.pickerHost = textField
delegate = self
dataSource = self
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func dismiss() {
endEditing(true)
}
}
extension CustomPicker: UIPickerViewDelegate {
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
pickerHost?.text = "set your text here"
}
}
希望这对您有用。