Использование подкласса с делегатами текстового поля

У меня есть подкласс CustomCell, который наследуется от моего родительского класса CreateEvent. Подкласс описывает различные ячейки для ячейки табличного представления, которая находится на контроллере CreateEvent View. В одной конкретной ячейке у меня есть текстовое поле, но у меня возникают проблемы с получением значения из этого текстового поля, когда пользователь входит в текстовое поле. У меня также возникают проблемы с отклонением клавиатуры от внешних прикосновений и нажатием клавиши возврата, но я в основном сосредоточен на получении текста из текстового поля. Я знаком с выполнением этих функций в обычном файле swift, но, поскольку это подкласс, я не уверен, что делать. Я попробовал использовать:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {

    entranceFeeTextField.resignFirstResponder()
    return true
}

.. но это не сработает.

1 ответ

Вам нужно дать UiTextfeld делегат в методе UITableview Delegate, и ваш CustomCell выглядит как

class CustomCell: UITableViewCell {

@IBOutlet var textField: UIImageView!


override func awakeFromNib() {
    super.awakeFromNib()

}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
}

}

и еще одна вещь для реализации протокола UITextfield в вашем контроллере представления. и ваш контроллер выглядит

class CreateEvent: UIViewController,UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate {

//MARK: - Content TableView Methods
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell
    cell.textField.delegate = self // like delegate

    return cell

}

//MARK: - UITextField Methods
func textFieldShouldReturn(textField: UITextField) -> Bool {

    textField.resignFirstResponder()
    return true
}
}

Я надеюсь, это поможет

Другие вопросы по тегам