Цель: создать метод ввода текста, аналогичный iOS Задачи / Напоминания / Расписание приложение
Я знаю, как добавить UITextView
в динамический UITablviewCell
и сделайте его редактируемым, отключите прокрутку и сделайте ячейку для динамической регулировки ее высоты в соответствии с введенным текстом.
Я также использую метод textViewShouldEndEditing
, чтобы выяснить, где находится курсор .
Где я борюсь и нуждаюсь в вас, ребята / девочки, помогите разобратьсякак динамически добавлять ячейки, когда пользователь нажимает клавишу ввода на клавиатуре, чтобы они могли начать печатать в следующей ячейке ниже. Кроме того, при загрузке приложения в настоящее время я устанавливаю numberOfRowsInSection
в 10, есть ли способ, которым я не могу жестко кодировать значение?
Я также хотел бы добавить кнопку плюса к следующемуЯчейка, которая будет добавлена так же, как в приложении для iOS, если вы сможете правильно направить меня, это было бы ужасно здорово.
Спасибо всем заранее
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
}