Как установить максимальную ширину пузырей сообщений в MessageKit - PullRequest
0 голосов
/ 17 июня 2020

Я использую MessageKit для функции чата в моем приложении. Одна из проблем, с которой я сталкиваюсь, заключается в том, что длинные сообщения выглядят очень странно на экране, поскольку ширина пузырей, похоже, не ограничена. Я хотел найти способ установить максимальную ширину пузырей чата, чтобы они форматировались как текстовый диалог в собственном приложении imessage.

В настоящее время мои сообщения выглядят так, но я бы хотел, чтобы сообщение ниже было менее широким и более высоким: enter image description here

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Вы можете настроить отступ справа / слева для входящих / исходящих сообщений соответственно.

Отступ по умолчанию:

public var incomingMessagePadding = UIEdgeInsets(top: 0, left: 4, bottom: 0, right: 30)
public var outgoingMessagePadding = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 4)

И вы можете установить отступ для объекта макета в своем Контроллер сообщений отображается следующим образом:

let layout = messagesCollectionView.collectionViewLayout as? MessagesCollectionViewFlowLayout
layout?.setMessageIncomingMessagePadding(UIEdgeInsets(top: 0, left: 4, bottom: 0, right: 50))
layout?.setMessageOutgoingMessagePadding(UIEdgeInsets(top: 0, left: 60, bottom: 0, right: 4))

Вы можете увидеть больше примеров изменений макета в AdvancedExampleViewController в примере проекта MessageKit.

0 голосов
/ 17 июня 2020

Кажется, что у библиотеки, которую вы используете, уже установлена ​​ширина, но в моем чате (который настроен) у меня есть a greater than or equal than 0 width constraint a a less than or equal than MAX_WIDTH constraint a leading constraint = 0 и 'конечное ограничение = 0' и те последние два я избавляюсь от leading или trailing в зависимости от того, отправитель это или получатель сообщения.

...