Use navigation bar for image editor buttons.

pull/2/head
Matthew Chen 6 years ago
parent a630974e76
commit e47ceab41c

@ -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 []
}

@ -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]
}
}

Loading…
Cancel
Save