Добавить UIView внизу UITableViewCell программно - PullRequest
1 голос
/ 20 марта 2019

Я работаю над приложением для обмена мгновенными сообщениями. Пользователь может отправлять текстовые сообщения, для чего я использую UITextView внутри пользовательских ячеек таблицы. Пользователь должен иметь возможность отправлять все виды мультимедийных данных, таких как изображения, документы и видео. enter image description here

Внутри ячейки моего табличного представления у меня есть и textView, и UIImageView в stackView, и я могу отправлять соответствующие виды данных. Если нет текста, я скрываю TextView. Если изображения нет, я скрываю изображение.

Проблема в том, что для масштабирования приложения мне нужно будет добавить новый контейнер для документов, еще один для видео, еще один для аудиофайлов и скрыть все остальные контейнеры, к которым не добавлены данные. Это мусорное решение, но это было единственное, что я нашел.

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

1 Ответ

1 голос
/ 20 марта 2019

Я бы попытался создать несколько ячеек, которые вы удаляете в cellForRowAt, проверяя критерии, например:

    if userPost.images != nil {
                let cell = tableView.dequeueReusableCell(withReuseIdentifier: "Identifier1", for: indexPath) as! UITableViewCell
return cell
            } else {
                let cell = tableView.dequeueReusableCell(withReuseIdentifier: "Identifier2", for: indexPath) as! UITableViewCell
                return cell
            }

С помощью этого решения вы можете создать ячейку, которая будет точно соответствовать данным, отправленным пользователем другимпользователь.Просто проверьте, какие критерии вам нужны, и верните соответствующую ячейку.

Надеюсь, это помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...