/************************************************************
|
* * Hyphenate CONFIDENTIAL
|
* __________________
|
* Copyright (C) 2016 Hyphenate Inc. All rights reserved.
|
*
|
* NOTICE: All information contained herein is, and remains
|
* the property of Hyphenate Inc.
|
* Dissemination of this information or reproduction of this material
|
* is strictly forbidden unless prior written permission is obtained
|
* from Hyphenate Inc.
|
*/
|
|
|
#import "EaseBubbleView.h"
|
|
#import "EaseBubbleView+Text.h"
|
#import "EaseBubbleView+Image.h"
|
#import "EaseBubbleView+Location.h"
|
#import "EaseBubbleView+Voice.h"
|
#import "EaseBubbleView+Video.h"
|
#import "EaseBubbleView+File.h"
|
|
@interface EaseBubbleView()
|
|
@property (nonatomic) NSLayoutConstraint *marginTopConstraint;
|
@property (nonatomic) NSLayoutConstraint *marginBottomConstraint;
|
@property (nonatomic) NSLayoutConstraint *marginLeftConstraint;
|
@property (nonatomic) NSLayoutConstraint *marginRightConstraint;
|
|
@end
|
|
@implementation EaseBubbleView
|
|
@synthesize backgroundImageView = _backgroundImageView;
|
@synthesize margin = _margin;
|
|
- (instancetype)initWithMargin:(UIEdgeInsets)margin
|
isSender:(BOOL)isSender
|
{
|
self = [super init];
|
if (self) {
|
_isSender = isSender;
|
_margin = margin;
|
|
_marginConstraints = [NSMutableArray array];
|
}
|
|
return self;
|
}
|
|
#pragma mark - Setup Constraints
|
|
/*!
|
@method
|
@brief 设置气泡背景图片的约束
|
@discussion
|
@result
|
*/
|
- (void)_setupBackgroundImageViewConstraints
|
{
|
[self addConstraint:[NSLayoutConstraint constraintWithItem:_backgroundImageView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]];
|
[self addConstraint:[NSLayoutConstraint constraintWithItem:_backgroundImageView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]];
|
[self addConstraint:[NSLayoutConstraint constraintWithItem:_backgroundImageView attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0]];
|
[self addConstraint:[NSLayoutConstraint constraintWithItem:_backgroundImageView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]];
|
[self addConstraint:[NSLayoutConstraint constraintWithItem:_backgroundImageView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]];
|
}
|
|
#pragma mark - getter
|
|
- (UIImageView *)backgroundImageView
|
{
|
if (_backgroundImageView == nil) {
|
_backgroundImageView = [[UIImageView alloc] init];
|
_backgroundImageView.translatesAutoresizingMaskIntoConstraints = NO;
|
_backgroundImageView.backgroundColor = [UIColor clearColor];
|
[self addSubview:_backgroundImageView];
|
[self _setupBackgroundImageViewConstraints];
|
}
|
|
return _backgroundImageView;
|
}
|
|
@end
|