如何在 MessageKit 中设置消息气泡的最大宽度
How to set maximum width of message bubbles in MessageKit
我一直在使用 MessageKit 为我的应用程序提供实时聊天功能。我 运行 遇到的问题之一是长消息在屏幕上看起来很奇怪,因为气泡的宽度似乎没有受到限制。我想找出一种方法来设置聊天气泡的最大宽度,使它们的格式更像本机 imessage 应用程序上的文本对话。
目前我的消息看起来像这样,但我希望下面的消息不那么宽和高:
您使用的库似乎已经设置了宽度,但在我的聊天(自定义)中我有 a greater than or equal than 0 width constraint
一个 a less than or equal than MAX_WIDTH constraint
一个 leading constraint = 0
和一个'trailing constraint = 0' 和最后两个我摆脱了 leading
或 trailing
取决于它是消息的发送者还是接收者。
您可以分别调整 incoming/outgoing 条消息的 right/left 填充。
默认填充为:
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 中查看更多布局更改示例in the MessageKit example project.
我一直在使用 MessageKit 为我的应用程序提供实时聊天功能。我 运行 遇到的问题之一是长消息在屏幕上看起来很奇怪,因为气泡的宽度似乎没有受到限制。我想找出一种方法来设置聊天气泡的最大宽度,使它们的格式更像本机 imessage 应用程序上的文本对话。
目前我的消息看起来像这样,但我希望下面的消息不那么宽和高:
您使用的库似乎已经设置了宽度,但在我的聊天(自定义)中我有 a greater than or equal than 0 width constraint
一个 a less than or equal than MAX_WIDTH constraint
一个 leading constraint = 0
和一个'trailing constraint = 0' 和最后两个我摆脱了 leading
或 trailing
取决于它是消息的发送者还是接收者。
您可以分别调整 incoming/outgoing 条消息的 right/left 填充。
默认填充为:
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 中查看更多布局更改示例in the MessageKit example project.