         }
     }
 
+    public override func viewDidAppear(animated: Bool) {
+        super.viewDidAppear(animated)
+
+        if !overlayActionViewWasHiddenBeforeTransition {
+            setOverlayActionViewHidden(false, animated: true)
+        }
+    }
+
     // MARK: Selectors
 
     @objc private func didPan(sender: UIPanGestureRecognizer) {


    private lazy var transitionController = PhotoTransitonController()

    private lazy var overlayActionView: OverlayActionView = {

        let view = OverlayActionView()

        fatalError("init(coder:) has not been implemented")
    }

    private func setOverlayActionViewHidden(hidden: Bool, animated: Bool) {

        guard overlayActionView.hidden != hidden else {
            return
        }

        if animated {
            overlayActionView.hidden = false
            overlayActionView.alpha = hidden ? 1 : 0

            UIView.animateWithDuration(1, delay: 0, options: [.CurveEaseIn, .CurveEaseOut, .AllowAnimatedContent, .AllowUserInteraction], animations: { [weak self] in
                self?.overlayActionView.alpha = hidden ? 0 : 1

            }, completion: { [weak self] finished in
                self?.overlayActionView.hidden = hidden
            })

        } else {
            overlayActionView.hidden = hidden
        }
    }

    private func newPhotoViewControllerForPhoto(photo: Photo) -> PhotoViewController {

        let photoViewController = PhotoViewController(photo: photo)
