Чат настроен. messagetableView нижнее ограничение, прикрепленное к вершине dockView. К сожалению, tableView messageCell не соответствует тому же ограничению, которое принудительно применяется к tableView. На моем снимке экрана вы можете увидеть желтый стол. Он начинается в верхней части супервизора и продолжается до вершины UIViewDock. Белый messageCell не следует за TableView. Очевидно, что messageCell делает это, потому что есть только 5 строк сообщений, так как я могу заставить белую ячейку начать в нижней части таблицыView, как приложения для чата?как положить сообщениеCell внизу таблицыView? * Swift *
Кто-то в другой старой теме сказал использовать этот Obj-C.
@property (nonatomic, assign) BOOL shouldScrollToLastRow;
- (void)viewDidLoad
{
[super viewDidLoad];
_shouldScrollToLastRow = YES;
}
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
// Scroll table view to the last row
if (_shouldScrollToLastRow)
{
_shouldScrollToLastRow = NO;
[self.tableView setContentOffset:CGPointMake(0, CGFLOAT_MAX)];
}
}
Это правильно и как я могу сделать это в Свифт?
Возможное решение, на самом деле не достаточно деталей, чтобы гарантировать изготовление это ответ, но вы можете перевернуть свой 'UITableView' вверх дном. Затем ваши клетки начнут снизу и прокладывают себе путь к вершине. Когда вы добавляете ячейки, вы всегда можете добавить их в первую позицию. С другой стороны, несколько мобильных приложений для обмена сообщениями не сохраняют сообщения внизу. Они работают так же, как и сейчас. – Kyle
Привет. Я использую Line, WeChat, QQ и HelloTalk, и все они начинаются снизу со старыми сообщениями вверху. iMessage, похоже, работает так, как вы сказали, с новыми сообщениями, начинающимися сверху, но даже сообщения iMessage внизу внизу, если вы заполнили экран сообщениями. Я хочу, чтобы это выглядело, потому что я думаю, что более естественно видеть историю над новым текстом. ** Я мог бы быть в порядке с этим способом iMessage, но потом у меня есть другие проблемы, потому что в моем приложении док и tableView должны быть в состоянии двигаться. –