mirror of
https://github.com/MessageKit/MessageKit.git
synced 2026-02-06 19:03:19 +00:00
[Added] .custom case to MessageStyle to customize via closure
This commit is contained in:
@@ -222,6 +222,8 @@ extension ConversationViewController: MessagesDisplayDelegate {
|
||||
func messageStyle(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> MessageStyle {
|
||||
let corner: MessageStyle.TailCorner = isFromCurrentSender(message: message) ? .bottomRight : .bottomLeft
|
||||
return .bubbleTail(corner, .curved)
|
||||
// let configurationClosure = { (view: MessageContainerView) in}
|
||||
// return .custom(configurationClosure)
|
||||
}
|
||||
|
||||
func messageFooterView(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> MessageFooterView? {
|
||||
|
||||
@@ -69,6 +69,11 @@ open class MessageContainerView: UIImageView {
|
||||
mask = nil
|
||||
image = nil
|
||||
tintColor = nil
|
||||
case .custom(let configurationClosure):
|
||||
mask = nil
|
||||
image = nil
|
||||
tintColor = nil
|
||||
configurationClosure(self)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ public enum MessageStyle {
|
||||
case bubbleOutline(UIColor)
|
||||
case bubbleTail(TailCorner, TailStyle)
|
||||
case bubbleTailOutline(UIColor, TailCorner, TailStyle)
|
||||
case custom((MessageContainerView) -> Void)
|
||||
|
||||
// MARK: - Public
|
||||
|
||||
@@ -79,7 +80,7 @@ public enum MessageStyle {
|
||||
guard var image = UIImage(contentsOfFile: path) else { return nil }
|
||||
|
||||
switch self {
|
||||
case .none:
|
||||
case .none, .custom:
|
||||
return nil
|
||||
case .bubble, .bubbleOutline:
|
||||
break
|
||||
@@ -103,7 +104,7 @@ public enum MessageStyle {
|
||||
return "bubble_full" + tailStyle.imageNameSuffix
|
||||
case .bubbleTailOutline(_, _, let tailStyle):
|
||||
return "bubble_outlined" + tailStyle.imageNameSuffix
|
||||
case .none:
|
||||
case .none, .custom:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user