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