// // XHMessageBubbleFactory.m // MessageDisplayExample // // Created by HUAJIE-1 on 14-4-25. // Copyright (c) 2014年 嗨,我是曾宪华(@xhzengAIB),曾加入YY Inc.担任高级移动开发工程师,拍立秀App联合创始人,热衷于简洁、而富有理性的事物 QQ:543413507 主页:http://zengxianhua.com All rights reserved. // #import "XHMessageBubbleFactory.h" #import "XHMacro.h" #import "XHConfigurationHelper.h" @implementation XHMessageBubbleFactory + (UIImage *)bubbleImageViewForType:(XHBubbleMessageType)type style:(XHBubbleImageViewStyle)style meidaType:(XHBubbleMessageMediaType)mediaType { NSString *messageTypeString = @"icon_"; // switch (style) { // case XHBubbleImageViewStyleWeChat: // // 类似微信的 // messageTypeString = @"weChatBubble"; // break; // default: // break; // } switch (type) { case XHBubbleMessageTypeSending: // 发送 messageTypeString = [messageTypeString stringByAppendingString:@"chat_right"]; break; case XHBubbleMessageTypeReceiving: // 接收 messageTypeString = [messageTypeString stringByAppendingString:@"chat_left"]; break; default: break; } // switch (mediaType) { // case XHBubbleMessageMediaTypePhoto: // case XHBubbleMessageMediaTypeVideo: // messageTypeString = [messageTypeString stringByAppendingString:@"_Solid"]; // break; // case XHBubbleMessageMediaTypeText: // case XHBubbleMessageMediaTypeVoice: // messageTypeString = [messageTypeString stringByAppendingString:@"_Solid"]; // break; // default: // break; // } if (type == XHBubbleMessageTypeReceiving) { NSString *receivingSolidImageName = [[XHConfigurationHelper appearance].messageTableStyle objectForKey:kXHMessageTableReceivingSolidImageNameKey]; if (receivingSolidImageName) { messageTypeString = receivingSolidImageName; } } else { NSString *sendingSolidImageName = [[XHConfigurationHelper appearance].messageTableStyle objectForKey:kXHMessageTableSendingSolidImageNameKey]; if (sendingSolidImageName) { messageTypeString = sendingSolidImageName; } } UIImage *bublleImage = ImageName_(messageTypeString); UIEdgeInsets bubbleImageEdgeInsets = [self bubbleImageEdgeInsetsWithStyle:style type:type]; UIImage *edgeBubbleImage = XH_STRETCH_IMAGE(bublleImage, bubbleImageEdgeInsets); return edgeBubbleImage; } + (UIEdgeInsets)bubbleImageEdgeInsetsWithStyle:(XHBubbleImageViewStyle)style type:(XHBubbleMessageType)type { UIEdgeInsets edgeInsets; // switch (style) { // case XHBubbleImageViewStyleWeChat: // // 类似微信的 // edgeInsets = UIEdgeInsetsMake(30, 28, 85, 28); // break; // default: // break; // } if (type == XHBubbleMessageTypeSending) { edgeInsets = UIEdgeInsetsMake(30, 5, 10, 20); }else{ edgeInsets = UIEdgeInsetsMake(30, 8, 10, 12); } return edgeInsets; } @end