如何访问扩展类中customcell的文本字段?

时间:2019-10-07 11:49:01

标签: ios swift xcode

我必须到达扩展程序中的文本字段以获取更新文本,但是我无法致电扩展程序。我的自定义单元格的文本字段部分,我在表格视图中使用它。我必须到达此文本字段的扩展名并更改文本。我怎么能得到这个?

此代码来自我的表视图,我想更改扩展程序中用于选择器视图的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++
}

2 个答案:

答案 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"
}

}

希望这对您有用。