Как добавить метку времени в пузырь сообщения?


person Orkhan Alizade    schedule 25.11.2015    source источник
comment
Для этого вам придется внести изменения в JSQMessageController.   -  person Harikrishnan    schedule 25.11.2015
comment
Какое отношение к этому имеют изображения?   -  person Losiowaty    schedule 25.11.2015
comment
@Losiowaty, я не понял, извини   -  person Orkhan Alizade    schedule 25.11.2015
comment
@HarikrishnanT, можете ли вы описать свой комментарий?   -  person Orkhan Alizade    schedule 25.11.2015
comment
Я когда-то использовал JSQMessageController и, насколько я знаю, у него нет никакого метода, чтобы показать время внутри пузыря. Поэтому для этого вам придется самостоятельно отредактировать библиотеку и добавить код для этого.   -  person Harikrishnan    schedule 25.11.2015
comment
@HarikrishnanT, к сожалению, я не знаю Objective C =/   -  person Orkhan Alizade    schedule 25.11.2015


Ответы (3)


Пожалуйста, попробуйте это. Это сработает для меня.

- (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{

    JSQMessagesCollectionViewCell *cell = (JSQMessagesCollectionViewCell *)[super collectionView:collectionView cellForItemAtIndexPath:indexPath];

    JSQMessage *message = [jsqmessages objectAtIndex:indexPath.item];
    //cell.messageBubbleTopLabel.text = message.senderDisplayName;
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
   [dateFormat setDateFormat:@"MMM dd, yyyy"];
    NSString *strDate = [dateFormat stringFromDate:message.date];
    cell.cellTopLabel.text = strDate;
    return cell;
}
person Sanjukta    schedule 21.11.2016

Если вы хотите добавить метку времени, вам нужно изменить xib-файл JSQMessagesCollectionViewCellOutgoing, а также для всплывающих окон.

person Edin    schedule 09.07.2017

Лучший подход, который я нашел, заключался в создании подклассов JSQMessagesCollectionViewCellIncoming и JSQMessagesCollectionViewCellOutgoing. Это очень важно, поскольку библиотека ожидает один из этих типов, у вас возникнут проблемы, если вы создадите подкласс напрямую из JSQMessagesCollectionViewCell. Кстати, я скопировал существующие JSQMessagesCollectionViewCellOutgoing.xib, JSQMessagesCollectionViewCellIncoming.xib и все изменил/переименовал, и это упростило мне настройку ячеек.

Затем в вашем подклассе JSQMessagesViewController зарегистрируйте идентификаторы ячеек в вашем viewDidLoad() следующим образом:

    self.outgoingCellIdentifier = [CustomCollectionViewCellOutgoing cellReuseIdentifier];
    self.outgoingMediaCellIdentifier = [CustomCollectionViewCellOutgoing mediaCellReuseIdentifier];

    [self.collectionView registerNib:[CustomCollectionViewCellOutgoing nib] forCellWithReuseIdentifier:self.outgoingCellIdentifier];
    [self.collectionView registerNib:[CustomCollectionViewCellOutgoing nib] forCellWithReuseIdentifier:self.outgoingMediaCellIdentifier];

    self.incomingCellIdentifier = [CustomCollectionViewCellIncoming cellReuseIdentifier];
    self.incomingMediaCellIdentifier = [CustomCollectionViewCellIncoming mediaCellReuseIdentifier];

    [self.collectionView registerNib:[CustomCollectionViewCellIncoming nib] forCellWithReuseIdentifier:self.incomingCellIdentifier];

Затем в collectionView:cellForItemAtIndexPath: вы можете получить доступ к своей пользовательской ячейке:

[self.collectionView registerNib:[CustomCollectionViewCellIncoming nib] forCellWithReuseIdentifier:self.incomingMediaCellIdentifier];

Ссылка на источник ответа: https://github.com/jessesquires/JSQMessagesViewController/issues/1233

person pragmus    schedule 21.11.2016