     return transform
   }
 
+  private func standardPageLabelConstraints() {
+    pageLabelAlternative = NSLayoutConstraint(item: pageLabel, attribute: .CenterX,
+      relatedBy: .Equal, toItem: view, attribute: .CenterX,
+      multiplier: 1, constant: 0)
+
+    pageLabelBottom = NSLayoutConstraint(item: pageLabel, attribute: .Bottom,
+      relatedBy: .Equal, toItem: view, attribute: .Bottom,
+      multiplier: 1, constant: pageLabelBottomConstant)
+
+    view.addConstraint(pageLabelAlternative!)
+    view.addConstraint(pageLabelBottom!)
+  }
+
+  private func standardCollectionViewConstraints() {
+    collectionViewWidth = NSLayoutConstraint(item: collectionView, attribute: .Width,
+      relatedBy: .Equal, toItem: view, attribute: .Width,
+      multiplier: 1, constant: 0)
+
+    collectionSize = CGSizeMake(view.frame.width, view.frame.height)
+    collectionView.reloadData()
+
+    view.addConstraint(collectionViewHeight!)
+    view.addConstraint(collectionViewWidth!)
+  }
+
+  private func standardCloseButtonConstraints() {
+    closeButtonTop = NSLayoutConstraint(item: closeButton, attribute: .Top,
+      relatedBy: .Equal, toItem: view, attribute: .Top,
+      multiplier: 1, constant: 16)
+
+    closeButtonRight = NSLayoutConstraint(item: closeButton, attribute: .Right,
+      relatedBy: .Equal, toItem: view, attribute: .Right,
+      multiplier: 1, constant: -17)
+
+    view.addConstraint(closeButtonTop!)
+    view.addConstraint(closeButtonRight!)
+  }
+
   // MARK: - Autolayout
 
   func setupConstraints() {

      relatedBy: .Equal, toItem: self.view, attribute: $0,
      multiplier: 1, constant: 0)) }

    collectionViewHeight = NSLayoutConstraint(item: collectionView, attribute: .Height,
      relatedBy: .Equal, toItem: view, attribute: .Height,
      multiplier: 1, constant: 0)

    collectionViewWidth = NSLayoutConstraint(item: collectionView, attribute: .Width,
      relatedBy: .Equal, toItem: view, attribute: .Width,
      multiplier: 1, constant: 0)

    view.addConstraint(collectionViewHeight!)
    view.addConstraint(collectionViewWidth!)
    
    pageLabelAlternative = NSLayoutConstraint(item: pageLabel, attribute: .CenterX,
      relatedBy: .Equal, toItem: view, attribute: .CenterX,
      multiplier: 1, constant: 0)

    pageLabelBottom = NSLayoutConstraint(item: pageLabel, attribute: .Bottom,
      relatedBy: .Equal, toItem: view, attribute: .Bottom,
      multiplier: 1, constant: pageLabelBottomConstant)

    view.addConstraint(pageLabelAlternative!)
    view.addConstraint(pageLabelBottom!)

    closeButtonTop = NSLayoutConstraint(item: closeButton, attribute: .Top,
      relatedBy: .Equal, toItem: view, attribute: .Top,
      multiplier: 1, constant: 16)

    closeButtonRight = NSLayoutConstraint(item: closeButton, attribute: .Right,
      relatedBy: .Equal, toItem: view, attribute: .Right,
      multiplier: 1, constant: -17)

    view.addConstraint(closeButtonTop!)
    view.addConstraint(closeButtonRight!)
    
    view.addConstraint(NSLayoutConstraint(item: closeButton, attribute: .Width,
      relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute,

      view.addConstraint(pageLabelAlternative!)
      view.addConstraint(pageLabelBottom!)
    } else if UIDevice.currentDevice().orientation == UIDeviceOrientation.Portrait {
      [collectionViewHeight!, collectionViewWidth!,
        closeButtonTop!, closeButtonRight!,
        pageLabelAlternative!, pageLabelBottom!].map { self.view.removeConstraint($0) }

      standardCollectionViewConstraints()
      standardCloseButtonConstraints()
      standardPageLabelConstraints()

      transitionManager.panGestureRecognizer.enabled = true
    }

    if UIDevice.currentDevice().orientation != UIDeviceOrientation.PortraitUpsideDown {
