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.

126 lines
0 B

2 years ago
//
// XHMessageBubbleView.h
// MessageDisplayExample
//
// Created by HUAJIE-1 on 14-4-24.
// Copyright (c) 2014年 嗨,我是曾宪华(@xhzengAIB),曾加入YY Inc.担任高级移动开发工程师,拍立秀App联合创始人,热衷于简洁、而富有理性的事物 QQ:543413507 主页:http://zengxianhua.com All rights reserved.
//
#import <UIKit/UIKit.h>
// Views
#import "XHMessageTextView.h"
#import "XHMessageInputView.h"
#import "XHBubblePhotoImageView.h"
#import "SETextView.h"
#import "FLAnimatedImageView.h"
#import "FLAnimatedImage.h"
// Macro
#import "XHMacro.h"
// Model
#import "XHMessage.h"
// Factorys
#import "XHMessageAvatarFactory.h"
#import "XHMessageVoiceFactory.h"
#define kXHMessageBubbleDisplayMaxLine 200
#define kXHTextLineSpacing 3.0
@interface XHMessageBubbleView : UIView
/**
* Model对象
*/
@property (nonatomic, strong, readonly) id <XHMessageModel> message;
/**
* Menu的显示
*/
@property (nonatomic, weak, readonly) SETextView *displayTextView;
/**
* ImageView控件
*/
@property (nonatomic, weak, readonly) UIImageView *bubbleImageView;
/**
* gif表情显示控件
*/
@property (nonatomic, weak, readonly) FLAnimatedImageView *emotionImageView;
/**
*
*/
@property (nonatomic, weak, readonly) UIImageView *animationVoiceImageView;
/**
*
*/
@property (nonatomic, weak, readonly) UIImageView *voiceUnreadDotImageView;
/**
* label
*/
@property (nonatomic, weak, readonly) UILabel *voiceDurationLabel;
/**
* 仿
*/
@property (nonatomic, weak, readonly) XHBubblePhotoImageView *bubblePhotoImageView;
/**
*
*/
@property (nonatomic, weak, readonly) UIImageView *videoPlayImageView;
/**
*
*/
@property (nonatomic, weak, readonly) UILabel *geolocationsLabel;
/**
*
*/
@property (nonatomic, strong) UIFont *font UI_APPEARANCE_SELECTOR;
/**
*
*
* @param frame Frame
* @param message Model对象
*
* @return XHMessageBubbleView类型的对象
*/
- (instancetype)initWithFrame:(CGRect)frame
message:(id <XHMessageModel>)message;
/**
*
*
* @return
*/
- (CGRect)bubbleFrame;
/**
* Model对象配置消息显示内容
*
* @param message Model对象
*/
- (void)configureCellWithMessage:(id <XHMessageModel>)message;
/**
* Model对象计算消息内容的高度
*
* @param message Model对象
*
* @return
*/
+ (CGFloat)calculateCellHeightWithMessage:(id <XHMessageModel>)message;
@end