Обычно, когда я делаю UITableViewController, я привык, что все элементы имеют одинаковый тип данных и стиль.Например, список изображений, или ряды имен пользователей, или что-то в этом роде.
Я помогал кому-то работать над проектом, и требовалось, чтобы на каждой стороне экрана были пузыри чата.Это достаточно просто, так как в зависимости от пользователя я могу просто показать / скрыть пузырь и назначить текст каждой строке.Пузырь чата похож в том смысле, что это просто текст и отметка времени.«Природа» этого пузыря та же самая, только ориентированная влево или вправо.
Однако сложность заключается в том, что если кто-то присоединяется к каналу чата в определенное время, он хочетчтобы показать это.Вот пример:
Итак, как вы можете видеть, это пузыри чата, но в 21:23 я должен показать эту новую строку, которая указываеткто-то присоединился к каналу.
Полагаю, мой объект DTO / привязки данных теперь будет выглядеть следующим образом:
- text: String // Текст, который нужно отобразить (при необходимости)
- userId: UUID // идентификатор пользователя, который «предпринял действие» для этого
- actionDate: TimeInterval // время соединения или чата (может быть любым)
- actionType: Int// или enum - 0 означает, что они присоединились, 1 означает, что они общались
- alignRight: Bool // Я могу заставить API определять пользователя контекста и определять, появляется ли пузырь чата справа / слева.
Какой простой способ добиться этого связывания, однако, с точки зрения пользовательского интерфейса?Я как-то использую нижние колонтитулы?Или мне нужно просто добавить этот ярлык "присоединиться к событию" в каждую ячейку таблицы и скрывать его в каждом случае, пока кто-то действительно не присоединится?