Subclass InputBarView to allow picking images

This commit is contained in:
Mohannad Bakbouk
2020-12-25 10:06:52 -08:00
parent 155148dd8d
commit 413204156b
7 changed files with 312 additions and 4 deletions
@@ -105,7 +105,16 @@ final class AdvancedExampleViewController: ChatViewController {
}
override func configureMessageInputBar() {
super.configureMessageInputBar()
//super.configureMessageInputBar()
messageInputBar = CameraInputBarAccessoryView()
messageInputBar.delegate = self
messageInputBar.inputTextView.tintColor = .primaryColor
messageInputBar.sendButton.setTitleColor(.primaryColor, for: .normal)
messageInputBar.sendButton.setTitleColor(
UIColor.primaryColor.withAlphaComponent(0.3),
for: .highlighted)
messageInputBar.isTranslucent = true
messageInputBar.separatorLine.isHidden = true
@@ -439,3 +448,28 @@ extension AdvancedExampleViewController: MessagesLayoutDelegate {
}
}
extension AdvancedExampleViewController: CameraInputBarAccessoryViewDelegate {
func inputBar(_ inputBar: InputBarAccessoryView, didPressSendButtonWith attachments: [AttachmentManager.Attachment]) {
for item in attachments {
if case .image(let image) = item {
self.sendImageMessage(photo: image)
}
}
inputBar.invalidatePlugins()
}
func sendImageMessage( photo : UIImage) {
let photoMessage = MockMessage(image: photo, user: self.currentSender() as! MockUser, messageId: UUID().uuidString, date: Date())
self.insertMessage(photoMessage)
}
}