Ios 检索使用JSQMessage发送的图像
我正在使用JSQMessage在Swift中创建一个聊天应用程序,基本上我的问题是当用户点击聊天中的照片时,我希望照片全屏弹出 我将添加我正在尝试做的步骤,它可能更长,但更容易理解。(在发送方看来,这是有效的,因此作为图像的接收方将在同一数组中结束) 发送图片:Ios 检索使用JSQMessage发送的图像,ios,swift,jsqmessagesviewcontroller,Ios,Swift,Jsqmessagesviewcontroller,我正在使用JSQMessage在Swift中创建一个聊天应用程序,基本上我的问题是当用户点击聊天中的照片时,我希望照片全屏弹出 我将添加我正在尝试做的步骤,它可能更长,但更容易理解。(在发送方看来,这是有效的,因此作为图像的接收方将在同一数组中结束) 发送图片: let sendMessage = JSQMessage(senderId: senderId, displayName: senderDisplayName, media: photoItem) <- Image I am in
let sendMessage = JSQMessage(senderId: senderId, displayName: senderDisplayName, media: photoItem) <- Image I am interested is inside here
self.messages.append(sendMessage)
self.finishSendingMessage()
看起来有人有一个类似的问题得到了回答。基本上,您可以检查
JSQMessage
对象是否连接了媒体,然后将其强制转换为JSQPhotoMediaItem
并从那里访问图像
以下是Jessequires回答中的Objective-C代码:
JSQMessage *message = [messages objectAtIndex:indexPath.row];
if (message.isMediaMessage) {
id<JSQMessageMediaData> mediaItem = message.media;
if ([mediaItem isKindOfClass:[JSQPhotoMediaItem class]]) {
JSQPhotoMediaItem *photoItem = (JSQPhotoMediaItem *)mediaItem;
UIImage *image = photoItem.image;
// do stuff with the image
}
}
JSQMessage*message=[messages objectAtIndex:indexath.row];
if(message.isMediaMessage){
id mediaItem=message.media;
if([mediaItem是KindofClass:[JSQPhotoMediaItem类]]){
JSQPhotoMediaItem*photoItem=(JSQPhotoMediaItem*)mediaItem;
UIImage*image=photoItem.image;
//对图像进行处理
}
}
Swift 3
let message = self.messages[indexPath.row]
if message.isMediaMessage == true{
let mediaItem = message.media
if mediaItem is JSQPhotoMediaItem{
let photoItem = mediaItem as! JSQPhotoMediaItem
let image:UIImage = photoItem.image //UIImage obtained.
}
}
谢谢,我也不知道如何将身份证翻译成Swift,我会四处看看,看看是否能弄明白!谢谢我能用斯威夫特完成我很感激
let message = self.messages[indexPath.row]
if message.isMediaMessage == true{
let mediaItem = message.media
if mediaItem is JSQPhotoMediaItem{
let photoItem = mediaItem as! JSQPhotoMediaItem
let image:UIImage = photoItem.image //UIImage obtained.
}
}