You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

94 lines
3.3 KiB

//
// 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