Вид на постукивание получил вид на описание об этом

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

заранее спасибо.

первое изображение -> вид перед нажатием.

Второе изображение -> просмотр после нажатия.

первое изображение второе изображение

1 ответ

Если вам нужно быстрое рабочее решение, вы можете попробовать это.

создайте TableViewCell с двумя метками: метка заголовка с фиксированной высотой (скажем, 48) и метка описания (многострочная)

Поддерживайте высоту для каждой ячейки в массиве, по умолчанию сохраняйте высоту метки заголовка, просто чтобы показать метку заголовка (скажем, itemHeights = [48,48,48]

Когда вы выбираете ячейку, внутри метода делегата didSelectRowAt: переключайте высоту

if self.itemHeights[indexPath.row] == UITableViewAutomaticDimension {
            self.itemHeights[indexPath.row] = 48
} else {
            self.itemHeights[indexPath.row] = UITableViewAutomaticDimension
}
self.tableView.reloadRows(at: [indexPath], with: .automatic)

Внутри делегата метод "heightForRowAt:" возвращает обновленную высоту

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return self.itemHeights[indexPath.row]

}

Примечание: это просто обходной путь, который дает вам почти тот же результат, но с некоторой резкой анимацией.

Другие вопросы по тегам