From eb5cf3978c34f7bc43fc00d4ee00b71b41566491 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 28 Mar 2019 15:11:58 -0400 Subject: [PATCH] Fix first responder issue in image editor. --- .../AttachmentApprovalViewController.swift | 4 +++- .../ImageEditor/ImageEditorBrushViewController.swift | 5 +++++ .../ImageEditor/ImageEditorCropViewController.swift | 9 +++++---- .../ImageEditor/ImageEditorTextViewController.swift | 5 +++++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/SignalMessaging/ViewControllers/AttachmentApproval/AttachmentApprovalViewController.swift b/SignalMessaging/ViewControllers/AttachmentApproval/AttachmentApprovalViewController.swift index 6c674f1b7..cba9ceffa 100644 --- a/SignalMessaging/ViewControllers/AttachmentApproval/AttachmentApprovalViewController.swift +++ b/SignalMessaging/ViewControllers/AttachmentApproval/AttachmentApprovalViewController.swift @@ -328,7 +328,9 @@ public class AttachmentApprovalViewController: UIPageViewController, UIPageViewC } private func updateControlVisibility() { - if !shouldHideControls, !isFirstResponder { + let hasPresentedView = self.presentedViewController != nil + + if !shouldHideControls, !isFirstResponder, !hasPresentedView { becomeFirstResponder() } bottomToolView.shouldHideControls = shouldHideControls diff --git a/SignalMessaging/Views/ImageEditor/ImageEditorBrushViewController.swift b/SignalMessaging/Views/ImageEditor/ImageEditorBrushViewController.swift index 6848b4a13..a6ea171f3 100644 --- a/SignalMessaging/Views/ImageEditor/ImageEditorBrushViewController.swift +++ b/SignalMessaging/Views/ImageEditor/ImageEditorBrushViewController.swift @@ -119,6 +119,11 @@ public class ImageEditorBrushViewController: OWSViewController { return true } + @objc + override public var canBecomeFirstResponder: Bool { + return true + } + // MARK: - Actions @objc func didTapUndo(sender: UIButton) { diff --git a/SignalMessaging/Views/ImageEditor/ImageEditorCropViewController.swift b/SignalMessaging/Views/ImageEditor/ImageEditorCropViewController.swift index 9714a73c3..2cfedcd9c 100644 --- a/SignalMessaging/Views/ImageEditor/ImageEditorCropViewController.swift +++ b/SignalMessaging/Views/ImageEditor/ImageEditorCropViewController.swift @@ -242,6 +242,11 @@ class ImageEditorCropViewController: OWSViewController { return true } + @objc + override public var canBecomeFirstResponder: Bool { + return true + } + private static let desiredCornerSize: CGFloat = 24 private static let minCropSize: CGFloat = desiredCornerSize * 2 private var cornerSize = CGSize.zero @@ -407,10 +412,6 @@ class ImageEditorCropViewController: OWSViewController { panGestureRecognizer.shouldBeRequiredToFail(by: pinchGestureRecognizer) } - override public var canBecomeFirstResponder: Bool { - return true - } - // MARK: - Gestures private class func unitTranslation(oldLocationView: CGPoint, diff --git a/SignalMessaging/Views/ImageEditor/ImageEditorTextViewController.swift b/SignalMessaging/Views/ImageEditor/ImageEditorTextViewController.swift index beb16d220..52c4523f1 100644 --- a/SignalMessaging/Views/ImageEditor/ImageEditorTextViewController.swift +++ b/SignalMessaging/Views/ImageEditor/ImageEditorTextViewController.swift @@ -239,6 +239,11 @@ public class ImageEditorTextViewController: OWSViewController, VAlignTextViewDel return true } + @objc + override public var canBecomeFirstResponder: Bool { + return true + } + // MARK: - Pinch Gesture private var pinchFontStart: UIFont?