Ввод текста в UITableview похож на приложение «Задачи / Напоминания» - PullRequest
0 голосов
/ 09 ноября 2019

Цель: создать метод ввода текста, аналогичный iOS Задачи / Напоминания / Расписание приложение

Я знаю, как добавить UITextView в динамический UITablviewCell и сделайте его редактируемым, отключите прокрутку и сделайте ячейку для динамической регулировки ее высоты в соответствии с введенным текстом.

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

Где я борюсь и нуждаюсь в вас, ребята / девочки, помогите разобратьсякак динамически добавлять ячейки, когда пользователь нажимает клавишу ввода на клавиатуре, чтобы они могли начать печатать в следующей ячейке ниже. Кроме того, при загрузке приложения в настоящее время я устанавливаю numberOfRowsInSection в 10, есть ли способ, которым я не могу жестко кодировать значение?

Я также хотел бы добавить кнопку плюса к следующемуЯчейка, которая будет добавлена ​​так же, как в приложении для iOS, если вы сможете правильно направить меня, это было бы ужасно здорово.

Спасибо всем заранее recording of what I'm trying to achive

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if !isIngredients{
        return Method.count
    } else {
        return listItems.count
    }

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "AddMetaDetails", for: indexPath) as! tvcAddMetaDetails

    if isIngredients {
        cell.textLabel?.text = "\(indexPath.row + 1). \(listItems[indexPath.row])"
        return cell
    } else  {
        cell.textLabel?.text = "\(indexPath.row + 1). \(Method[indexPath.row])"
        return cell
    }

}

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

    if !islistItems {
        Method.append(txtAddMetaDetails.text!)
        txtAddMetaDetails.text = ""
        tvAddMetaDetails.reloadData()
    } else {
        listItems.append(txtAddMetaDetails.text!)
        txtAddMetaDetails.text = ""
        tvAddMetaDetails.reloadData()
    }
    return true
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    tvAddMetaDetails.estimatedRowHeight = 60
    tvAddMetaDetails.estimatedRowHeight = UITableView.automaticDimension
     return UITableView.automaticDimension
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...