diff --git a/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift b/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift index d6337e6ca..e46c5788f 100644 --- a/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift +++ b/SignalMessaging/ViewControllers/AttachmentApprovalViewController.swift @@ -272,15 +272,24 @@ public class AttachmentApprovalViewController: UIPageViewController, UIPageViewC // MARK: - Navigation Bar public func updateNavigationBar() { - var navigationBarItems = [UIBarButtonItem]() + var navigationBarItems = [UIView]() if let viewControllers = viewControllers, viewControllers.count == 1, let firstViewController = viewControllers.first as? AttachmentPrepViewController { navigationBarItems = firstViewController.navigationBarItems() } + guard navigationBarItems.count > 0 else { + self.navigationItem.rightBarButtonItems = [] + return + } - self.navigationItem.rightBarButtonItems = navigationBarItems + let stackView = UIStackView(arrangedSubviews: navigationBarItems) + stackView.axis = .horizontal + stackView.spacing = 8 + stackView.alignment = .center + + self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: stackView) } // MARK: - View Helpers @@ -753,8 +762,7 @@ public class AttachmentPrepViewController: OWSViewController, PlayerProgressBarD mediaMessageView.autoPinEdgesToSuperviewEdges() #if DEBUG - if let imageEditorModel = attachmentItem.imageEditorModel, - let imageMediaView = mediaMessageView.contentView { + if let imageEditorModel = attachmentItem.imageEditorModel { let imageEditorView = ImageEditorView(model: imageEditorModel, delegate: self) if imageEditorView.configureSubviews() { @@ -762,13 +770,8 @@ public class AttachmentPrepViewController: OWSViewController, PlayerProgressBarD mediaMessageView.isHidden = true - // TODO: Is this necessary? - imageMediaView.isUserInteractionEnabled = true - - contentContainer.addSubview(imageEditorView) - imageEditorView.autoPin(toTopLayoutGuideOf: self, withInset: 0) - autoPinView(toBottomOfViewControllerOrKeyboard: imageEditorView, avoidNotch: true) - imageEditorView.autoPinWidthToSuperview() + view.addSubview(imageEditorView) + imageEditorView.autoPinEdgesToSuperviewEdges() imageEditorView.addControls(to: imageEditorView, viewController: self) @@ -870,7 +873,7 @@ public class AttachmentPrepViewController: OWSViewController, PlayerProgressBarD // MARK: - Navigation Bar - public func navigationBarItems() -> [UIBarButtonItem] { + public func navigationBarItems() -> [UIView] { guard let imageEditorView = imageEditorView else { return [] } diff --git a/SignalMessaging/Views/ImageEditor/ImageEditorView.swift b/SignalMessaging/Views/ImageEditor/ImageEditorView.swift index 12d12a892..5792edc16 100644 --- a/SignalMessaging/Views/ImageEditor/ImageEditorView.swift +++ b/SignalMessaging/Views/ImageEditor/ImageEditorView.swift @@ -241,30 +241,33 @@ public class ImageEditorView: UIView { // MARK: - Navigation Bar private func navigationBarButton(imageName: String, - selector: Selector) -> UIBarButtonItem { - let button = UIBarButtonItem(image: UIImage(named: imageName), style: .plain, target: self, action: selector) + selector: Selector) -> UIView { + let button = OWSButton() + button.setImage(imageName: imageName) button.tintColor = .white + button.addTarget(self, action: selector, for: .touchUpInside) +// button.layer.shadowColor = UIColor.black.cgColor +// button.layer.shadowRadius = 4 +// button.layer.shadowOpacity = 0.66 return button } - public func navigationBarItems() -> [UIBarButtonItem] { + public func navigationBarItems() -> [UIView] { let undoButton = navigationBarButton(imageName: "image_editor_undo", selector: #selector(didTapUndo(sender:))) let brushButton = navigationBarButton(imageName: "image_editor_brush", selector: #selector(didTapBrush(sender:))) let cropButton = navigationBarButton(imageName: "image_editor_crop", selector: #selector(didTapCrop(sender:))) - let newTextButton = navigationBarButton(imageName: "image_editor_checkmark_full", + let newTextButton = navigationBarButton(imageName: "image_editor_text", selector: #selector(didTapNewText(sender:))) -// let doneButton = navigationBarButton(imageName:"image_editor_brush", -// selector: #selector(didTapDone(sender:))) let captionButton = navigationBarButton(imageName: "image_editor_caption", selector: #selector(didTapCaption(sender:))) if model.canUndo() { - return [undoButton, newTextButton, brushButton, cropButton, captionButton].reversed() + return [undoButton, newTextButton, brushButton, cropButton, captionButton] } else { - return [newTextButton, brushButton, cropButton, captionButton].reversed() + return [newTextButton, brushButton, cropButton, captionButton] } }