From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001 From: 单军华 Date: Thu, 12 Jul 2018 13:44:34 +0800 Subject: [PATCH] bug修复和功能优化 --- screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Location.m | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 86 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Location.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Location.m new file mode 100755 index 0000000..cbae242 --- /dev/null +++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Location.m @@ -0,0 +1,86 @@ +/************************************************************ + * * 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+Location.h" + +@implementation EaseBubbleView (Location) + +- (void)layoutSubviews { + [super layoutSubviews]; +// +// CGFloat availableLabelWidth = self.frame.size.width; +// self.locationLabel.preferredMaxLayoutWidth = availableLabelWidth - 30; +// +// [super layoutSubviews]; +} + +#pragma mark - private + +- (void)_setupLocationBubbleMarginConstraints +{ + NSLayoutConstraint *marginTopConstraint = [NSLayoutConstraint constraintWithItem:self.locationImageView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.backgroundImageView attribute:NSLayoutAttributeTop multiplier:1.0 constant:self.margin.top]; + NSLayoutConstraint *marginBottomConstraint = [NSLayoutConstraint constraintWithItem:self.locationImageView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.backgroundImageView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-self.margin.bottom]; + NSLayoutConstraint *marginLeftConstraint = [NSLayoutConstraint constraintWithItem:self.locationImageView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.backgroundImageView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-self.margin.right]; + NSLayoutConstraint *marginRightConstraint = [NSLayoutConstraint constraintWithItem:self.locationImageView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.backgroundImageView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:self.margin.left]; + + [self.marginConstraints removeAllObjects]; + [self.marginConstraints addObject:marginTopConstraint]; + [self.marginConstraints addObject:marginBottomConstraint]; + [self.marginConstraints addObject:marginLeftConstraint]; + [self.marginConstraints addObject:marginRightConstraint]; + + [self addConstraints:self.marginConstraints]; +} + +- (void)_setupLocationBubbleConstraints +{ + [self _setupLocationBubbleMarginConstraints]; + + [self addConstraint:[NSLayoutConstraint constraintWithItem:self.locationLabel attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.locationImageView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]]; + [self addConstraint:[NSLayoutConstraint constraintWithItem:self.locationLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.locationImageView attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]]; + [self addConstraint:[NSLayoutConstraint constraintWithItem:self.locationLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.locationImageView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]]; + [self addConstraint:[NSLayoutConstraint constraintWithItem:self.locationLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.locationImageView attribute:NSLayoutAttributeHeight multiplier:0.3 constant:0]]; +} + +#pragma mark - public + +- (void)setupLocationBubbleView +{ + self.locationImageView = [[UIImageView alloc] init]; + self.locationImageView.translatesAutoresizingMaskIntoConstraints = NO; + self.locationImageView.backgroundColor = [UIColor clearColor]; + self.locationImageView.clipsToBounds = YES; + [self.backgroundImageView addSubview:self.locationImageView]; + + self.locationLabel = [[UILabel alloc] init]; + self.locationLabel.translatesAutoresizingMaskIntoConstraints = NO; + self.locationLabel.numberOfLines = 2; + self.locationLabel.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.8]; +// self.locationLabel.preferredMaxLayoutWidth = 0.0f; + [self.locationImageView addSubview:self.locationLabel]; + + [self _setupLocationBubbleConstraints]; +} + +- (void)updateLocationMargin:(UIEdgeInsets)margin +{ + if (_margin.top == margin.top && _margin.bottom == margin.bottom && _margin.left == margin.left && _margin.right == margin.right) { + return; + } + _margin = margin; + + [self removeConstraints:self.marginConstraints]; + [self _setupLocationBubbleMarginConstraints]; +} + +@end -- Gitblit v1.8.0