From 5148747c1267244ef437d18cd4c9d6bb99171952 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 22 Aug 2018 13:38:17 -0600 Subject: [PATCH] clean up long text VC --- .../ConversationView/Cells/OWSMessageBubbleView.h | 2 ++ .../ConversationView/Cells/OWSMessageBubbleView.m | 6 ++++-- .../ViewControllers/LongTextViewController.swift | 14 ++++++++------ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h index 83b9dd688..6a89afc2b 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h @@ -21,6 +21,8 @@ typedef NS_ENUM(NSUInteger, OWSMessageGestureLocation) { OWSMessageGestureLocation_QuotedReply, }; +extern const UIDataDetectorTypes OWSAllowedDataDetectorTypes; + @protocol OWSMessageBubbleViewDelegate - (void)didTapImageViewItem:(ConversationViewItem *)viewItem diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m index 430bb92cf..93da4de9f 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m @@ -21,6 +21,9 @@ NS_ASSUME_NONNULL_BEGIN +const UIDataDetectorTypes OWSAllowedDataDetectorTypes + = UIDataDetectorTypeLink | UIDataDetectorTypeAddress | UIDataDetectorTypeCalendarEvent; + @interface OWSMessageBubbleView () @property (nonatomic) OWSBubbleView *bubbleView; @@ -94,8 +97,7 @@ NS_ASSUME_NONNULL_BEGIN self.bodyTextView = [self newTextView]; // Setting dataDetectorTypes is expensive. Do it just once. - self.bodyTextView.dataDetectorTypes - = (UIDataDetectorTypeLink | UIDataDetectorTypeAddress | UIDataDetectorTypeCalendarEvent); + self.bodyTextView.dataDetectorTypes = OWSAllowedDataDetectorTypes; self.bodyTextView.hidden = YES; self.footerView = [OWSMessageFooterView new]; diff --git a/Signal/src/ViewControllers/LongTextViewController.swift b/Signal/src/ViewControllers/LongTextViewController.swift index 3f0c324df..80cafd5ca 100644 --- a/Signal/src/ViewControllers/LongTextViewController.swift +++ b/Signal/src/ViewControllers/LongTextViewController.swift @@ -15,7 +15,7 @@ public class LongTextViewController: OWSViewController { let messageBody: String - var messageTextView: UITextView? + var messageTextView: UITextView! // MARK: Initializers @@ -53,6 +53,8 @@ public class LongTextViewController: OWSViewController { comment: "Title for the 'long text message' view.") createViews() + + self.messageTextView.contentOffset = CGPoint(x: 0, y: self.messageTextView.contentInset.top) } // MARK: - Create Views @@ -72,17 +74,17 @@ public class LongTextViewController: OWSViewController { messageTextView.showsVerticalScrollIndicator = true messageTextView.isUserInteractionEnabled = true messageTextView.textColor = Theme.primaryColor + messageTextView.dataDetectorTypes = OWSAllowedDataDetectorTypes messageTextView.text = messageBody view.addSubview(messageTextView) - messageTextView.autoPinEdge(toSuperviewEdge: .leading) - messageTextView.autoPinEdge(toSuperviewEdge: .trailing) - messageTextView.textContainerInset = UIEdgeInsets(top: 0, left: view.layoutMargins.left, bottom: 0, right: view.layoutMargins.right) - messageTextView.autoPin(toTopLayoutGuideOf: self, withInset: 0) + messageTextView.autoPinEdge(toSuperviewEdge: .top) + messageTextView.autoPinEdge(toSuperviewMargin: .leading) + messageTextView.autoPinEdge(toSuperviewMargin: .trailing) let footer = UIToolbar() view.addSubview(footer) - footer.autoPinWidthToSuperview(withMargin: 0) + footer.autoPinWidthToSuperview() footer.autoPinEdge(.top, to: .bottom, of: messageTextView) footer.autoPin(toBottomLayoutGuideOf: self, withInset: 0)