Использование подкласса с делегатами текстового поля
У меня есть подкласс 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
}
}
Я надеюсь, это поможет