New file |
| | |
| | | /************************************************************ |
| | | * * 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 |