检查UITableViewCell中的UITextField是否为空

时间:2018-06-15 10:00:26

标签: swift uitableview delegates uitextfield protocols

我有一个自定义单元格,其中export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient,"./assets/i18n/", ".json"); } 为子视图。我想检查这个UITextField是否为空。

有没有办法做到这一点,还是我需要实现一个传递给ViewController的协议?

自定义单元格类

UITextField

查看控制器

class TitleCell: UITableViewCell {

    var titleTextField = UITextField()

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        contentView.addSubview(titleTextField)
    }

更新

如果titleTextField为空或者没有启用barbuttonItem,我已经实现了一个传递bool值的小协议。

自定义单元格类

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let titleCell = tableView.dequeueReusableCell(withIdentifier: titleCellIdentifier) as! TitleCell
        let categoryCell = tableView.dequeueReusableCell(withIdentifier: categoryCellIdentifier)!
        switch createEventSections[indexPath.section].items[indexPath.row] {

        case .Title:
            return titleCell
        case .Category:
            return categoryCell
    }
}

查看控制器

protocol TitleTextFieldDelegate {
    func titleTextFieldIsEmpty(isEmpty: Bool)
}

class TitleCell: UITableViewCell {

    var titleTextField = UITextField()
    var titleTextFieldEmpty: Bool = true
    var delegate: TitleTextFieldDelegate?

titleTextField.addTarget(self, action: #selector(titleTextFielddidChangeInput), for: .editingChanged)

@objc func titleTextFielddidChangeInput(textField: UITextField) {
    if (titleTextField.text?.isEmpty)! {
        titleTextFieldEmpty = true
    } else {
        titleTextFieldEmpty = false
    }
}

0 个答案:

没有答案