У меня есть подкласс CustomCell, который наследуется от моего родительского класса CreateEvent. Подкласс описывает отдельные ячейки для ячейки представления таблицы, которая находится на контроллере CreateEvent View. В одной конкретной ячейке у меня есть текстовое поле, связанное с файлом CustomCell, но у меня возникает проблема с получением значения из этого текстового поля, когда пользователь входит в текстовое поле. У меня также проблемы с клавиатурой с внешними касаниями и нажатием клавиши возврата, но я в основном сосредоточен на получении текста из текстового поля. Я знаком с выполнением этих функций в обычном быстром файле, но поскольку это подкласс, я не уверен, что делать. То, что я пытался это использовать:Таблица View Cell с текстовым полем
class CustomCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet weak var entranceFeeTextField: UITextField!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
И:
class CreateEventVC: UIViewController, UITableViewDelegate, UITableViewDataSource, CustomCellDelegate, UITextFieldDelegate {
override func viewDidLoad() {
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let currentCellDescriptor = getCellDescriptorForIndexPath(indexPath)
let cell = tableView.dequeueReusableCell(withIdentifier: currentCellDescriptor["cellIdentifier"] as! String, for: indexPath) as! CustomCell
cell.entranceFeeTextField.delegate = self
entranceFeeAmount = cell.entranceFeeTextField.text!
}
Этот код не работает, и я не совсем уверен, который TextField делегатов мне нужно работать, чтобы быть в состоянии для получения значения Text из текстового поля.
Это очень полезно. Имеет смысл, что мне нужно сообщить текстовому полю прекратить редактирование, чтобы иметь возможность вытащить значение. Однако в строке «let textFromCell = textField.text!» Он не будет распознавать textField из файла CustomCell. – Kevin
@Kevin, если вы правильно установили делегат, и реализуете этот метод в 'CreateEventVC', да, это будет. Параметр метода говорит 'textField', но это только текстField, передаваемый делегатом. Когда он будет вызван, это будет ваш 'входFeeTextField'. Разве вы не имеете в виду что-то еще? – Zolnoor
Я действительно использовал entryFeeTextField. Должно быть, делегат, что я слишком хорошо согласен. Разве это не «cell.entranceFeeTextField.delegate = self»? Что еще мне нужно для удовлетворения делегата? Спасибо – Kevin