Merge pull request #163 from MessageKit/enhancement/custom-message-style

[Added] .custom case to MessageStyle enum
This commit is contained in:
Steven Deutsch
2017-09-26 12:47:01 -05:00
committed by GitHub
4 changed files with 13 additions and 2 deletions
+3
View File
@@ -6,6 +6,9 @@ The changelog for `MessageKit`. Also see the [releases](https://github.com/Messa
## Upcoming release
### Added
- **Breaking Change** `.custom((MessageContainerView)->Void)` case to `MessageStyle` enum.
[#163](https://github.com/MessageKit/MessageKit/pull/163) by [@SD10](https://github.com/SD10).
- **Breaking Change** `UIEdgeInsets` associated value to all `LabelAlignment` enum cases.
[#166](https://github.com/MessageKit/MessageKit/pull/166) by [@SD10](https://github.com/SD10).
@@ -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? {
+5
View File
@@ -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)
}
}
+3 -2
View File
@@ -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
}
}