Добавить новую ячейку в tableView из текстового поля - PullRequest
1 голос
/ 07 февраля 2020

Я создал таблицу и текстовое поле. Я хочу, чтобы таблица создавала новую ячейку каждый раз, когда пользователь что-то пишет в текстовом поле. У меня есть такой код. Я создал массив для имен и попытался заполнить его ячейками, но пока результата нет.

var playerName = [String]()
    @IBAction func addPlayerNameTextFieldAction(_ sender:UITextField)
    {

        let name = addplayerTextFiedOutlet.text!
        playerName.append(name)

        addplayerTextFiedOutlet.resignFirstResponder()
        playerListTableView.reloadData()
    }




func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = playerListTableView.dequeueReusableCell(withIdentifier: idCell, for:indexPath) as! PlayerListTableViewCell
            cell.playerNameLabel.text =  playerName[indexPath.row]

        return cell
}

1 Ответ

2 голосов
/ 07 февраля 2020

Если вы хотите выполнить свое действие при нажатии клавиши возврата на клавиатуре, вы должны реализовать метод UITextfieldDelegate и установить делегат клавиатуры на свой контроллер и выполнять действия в этом методе

в вашем методе viewDidLoad:

textfield.delegate = self

, затем метод делегирования принудительного исполнения:

extension YourviewController: UITextFieldDelegate {

func textFieldShouldReturn(_ textField: UITextField) -> Bool {   //delegate method
   let name = addplayerTextFiedOutlet.text!
        playerName.append(name)
        addplayerTextFiedOutlet.resignFirstResponder()
        playerListTableView.reloadData()
        return true
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...