我正在使用 JSQMessagesViewController 和 Firebase 进行 Twitter 登录。
我可以使用“didPressSendButton”成功发送短信。
现在我正在尝试发送图像。我有一张测试图像。 现在,当我尝试使用“didPressAccessoryButton”发送图像时。当此函数执行时,图像会转换为 Base64 并保存在 firebase 数据库中。但问题是,当我按下 didPressAccessoryButton 时,蓝色气泡不显示任何图像。
最佳答案
我认为通过发送您使用的文本:
override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!)
{
self.sendMessage(text, video: nil, picture: nil)
self.finishSendingMessage()
}
并且您在 didFinishPickingMediaWithInfo 函数中有一个函数可以将图像保存在 Firebase 中的 base64 中,您可以使用以下代码使图片显示在气泡中,也就是说我将所有内容合并在 sendMessage 函数中,但是以下内容应该有所帮助:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
let picture = info[UIImagePickerControllerEditedImage] as? UIImage
if (info[UIImagePickerControllerEditedImage] as? UIImage) != nil
{
let mediaItem = JSQPhotoMediaItem(image: nil)
mediaItem.appliesMediaViewMaskAsOutgoing = true
mediaItem.image = UIImage(data: UIImageJPEGRepresentation(picture, 0.5)!)
let sendMessage = JSQMessage(senderId: senderId, displayName: self.senderFullName, media: mediaItem)
self.messages.append(sendMessage)
self.finishSendingMessage()
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
祝你好运(您可能还想考虑不要在 Firebase 中存储大图像,因为不建议这样做)
关于swift - 如何使用 JSQMessagesViewController 发送图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36955732/