Zum Anzeigen von UserName oben der eingehenden Nachricht JSQ hat unter Methoden.
//MARK: To View usernames above bubbles
override func collectionView(collectionView: JSQMessagesCollectionView!, attributedTextForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> NSAttributedString! {
let message = messages[indexPath.item];
// Sent by me, skip
if message.sender() == sender {
return nil;
}
// Same as previous sender, skip
if indexPath.item > 0 {
let previousMessage = messages[indexPath.item - 1];
if previousMessage.sender() == message.sender() {
return nil;
}
}
return NSAttributedString(string:message.sender())
}
override func collectionView(collectionView: JSQMessagesCollectionView!, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout!, heightForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
let message = messages[indexPath.item]
// Sent by me, skip
if message.sender() == sender {
return CGFloat(0.0);
}
// Same as previous sender, skip
if indexPath.item > 0 {
let previousMessage = messages[indexPath.item - 1];
if previousMessage.sender() == message.sender() {
return CGFloat(0.0);
}
}
return kJSQMessagesCollectionViewCellLabelHeightDefault
}
Der obige Code ist für mich gearbeitet, ich hoffe, es wird auch für Sie arbeiten. Für weitere Informationen können Sie sehen,
Demo
https://github.com/jessesquires/JSQMessagesViewController
wegen des Mangels an Flexibilität hilft, wenn Sie eine Full-Flag-Messaging-Anwendung benötigen würde ich die JSQ nicht empfehlen, am Ende haben wir unser eigenes Schreiben auf ViewController, das ist auch ziemlich schwierig ... –