From 83b9d5c682b21d88133f24da0f94dd56bd79e687 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 19 Jul 2018 13:38:55 +0800
Subject: [PATCH] change
---
screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseTextView.m | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 167 insertions(+), 0 deletions(-)
diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseTextView.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseTextView.m
new file mode 100755
index 0000000..9ff4d37
--- /dev/null
+++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseTextView.m
@@ -0,0 +1,167 @@
+/************************************************************
+ * * 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 "EaseTextView.h"
+
+@implementation EaseTextView
+
+#pragma mark - Setters
+
+- (void)setPlaceHolder:(NSString *)placeHolder {
+ if([placeHolder isEqualToString:_placeHolder]) {
+ return;
+ }
+
+ NSUInteger maxChars = [EaseTextView maxCharactersPerLine];
+ if([placeHolder length] > maxChars) {
+ placeHolder = [placeHolder substringToIndex:maxChars - 8];
+ placeHolder = [[placeHolder stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] stringByAppendingFormat:@"..."];
+ }
+
+ _placeHolder = placeHolder;
+ [self setNeedsDisplay];
+}
+
+- (void)setPlaceHolderTextColor:(UIColor *)placeHolderTextColor {
+ if([placeHolderTextColor isEqual:_placeHolderTextColor]) {
+ return;
+ }
+
+ _placeHolderTextColor = placeHolderTextColor;
+ [self setNeedsDisplay];
+}
+
+#pragma mark - Message text view
+
+- (NSUInteger)numberOfLinesOfText
+{
+ return [EaseTextView numberOfLinesForMessage:self.text];
+}
+
++ (NSUInteger)maxCharactersPerLine {
+ return ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) ? 33 : 109;
+}
+
++ (NSUInteger)numberOfLinesForMessage:(NSString *)text {
+ return (text.length / [EaseTextView maxCharactersPerLine]) + 1;
+}
+
+#pragma mark - Text view overrides
+
+- (void)setText:(NSString *)text {
+ [super setText:text];
+ [self setNeedsDisplay];
+}
+
+- (void)setAttributedText:(NSAttributedString *)attributedText {
+ [super setAttributedText:attributedText];
+ [self setNeedsDisplay];
+}
+
+//- (void)setContentInset:(UIEdgeInsets)contentInset {
+// [super setContentInset:contentInset];
+// [self setNeedsDisplay];
+//}
+
+- (void)setFont:(UIFont *)font {
+ [super setFont:font];
+ [self setNeedsDisplay];
+}
+
+- (void)setTextAlignment:(NSTextAlignment)textAlignment {
+ [super setTextAlignment:textAlignment];
+ [self setNeedsDisplay];
+}
+
+#pragma mark - Notifications
+
+- (void)didReceiveTextDidChangeNotification:(NSNotification *)notification {
+ [self setNeedsDisplay];
+}
+
+#pragma mark - Life cycle
+
+- (void)setup {
+ self.accessibilityIdentifier = @"text_view";
+
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(didReceiveTextDidChangeNotification:)
+ name:UITextViewTextDidChangeNotification
+ object:self];
+
+ _placeHolderTextColor = [UIColor lightGrayColor];
+
+ self.autoresizingMask = UIViewAutoresizingFlexibleWidth;
+ self.scrollIndicatorInsets = UIEdgeInsetsMake(10.0f, 0.0f, 10.0f, 8.0f);
+ self.contentInset = UIEdgeInsetsZero;
+ self.scrollEnabled = YES;
+ self.scrollsToTop = NO;
+ self.userInteractionEnabled = YES;
+ self.font = [UIFont systemFontOfSize:16.0f];
+ self.textColor = [UIColor blackColor];
+ self.backgroundColor = [UIColor whiteColor];
+ self.keyboardAppearance = UIKeyboardAppearanceDefault;
+ self.keyboardType = UIKeyboardTypeDefault;
+ self.returnKeyType = UIReturnKeyDefault;
+ self.textAlignment = NSTextAlignmentLeft;
+}
+
+- (id)initWithFrame:(CGRect)frame
+{
+ self = [super initWithFrame:frame];
+ if (self) {
+ // Initialization code
+ [self setup];
+ }
+ return self;
+}
+
+- (void)dealloc {
+ _placeHolder = nil;
+ _placeHolderTextColor = nil;
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:UITextViewTextDidChangeNotification object:self];
+}
+
+#pragma mark - Drawing
+
+- (void)drawRect:(CGRect)rect
+{
+ [super drawRect:rect];
+
+ if([self.text length] == 0 && self.placeHolder) {
+ CGRect placeHolderRect = CGRectMake(10.0f,
+ 7.0f,
+ rect.size.width,
+ rect.size.height);
+
+ [self.placeHolderTextColor set];
+
+ if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_0) {
+ NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+ paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;
+ paragraphStyle.alignment = self.textAlignment;
+
+ [self.placeHolder drawInRect:placeHolderRect
+ withAttributes:@{ NSFontAttributeName : self.font,
+ NSForegroundColorAttributeName : self.placeHolderTextColor,
+ NSParagraphStyleAttributeName : paragraphStyle }];
+ }
+ else {
+ [self.placeHolder drawInRect:placeHolderRect
+ withFont:self.font
+ lineBreakMode:NSLineBreakByTruncatingTail
+ alignment:self.textAlignment];
+ }
+ }
+}
+
+@end
--
Gitblit v1.8.0