   // MARK: - Setup
 
   public func setupFrames() {
+    let totalWidth = UIScreen.mainScreen().bounds.width
     let offset: CGFloat = UIApplication.sharedApplication().statusBarHidden ? 2.5 : 5
-    backgroundView.frame.size = CGSize(width: Dimensions.width, height: Dimensions.height)
+
+    backgroundView.frame.size = CGSize(width: totalWidth, height: Dimensions.height)
     blurView.frame = backgroundView.bounds
-    gestureContainer.frame = CGRect(x: 0, y: Dimensions.height - 20, width: Dimensions.width, height: 20)
-    indicatorView.frame = CGRect(x: (Dimensions.width - Dimensions.indicatorWidth) / 2,
+    gestureContainer.frame = CGRect(x: 0, y: Dimensions.height - 20, width: totalWidth, height: 20)
+    indicatorView.frame = CGRect(x: (totalWidth - Dimensions.indicatorWidth) / 2,
       y: Dimensions.height - Dimensions.indicatorHeight - 3, width: Dimensions.indicatorWidth, height: Dimensions.indicatorHeight)
     imageView.frame = CGRect(x: Dimensions.imageOffset, y: (Dimensions.height - Dimensions.imageSize) / 2 + offset,
       width: Dimensions.imageSize, height: Dimensions.imageSize)

  // MARK: - Configuration

  public func craft(announcement: Announcement, to: UIViewController, completion: (() -> ())?) {
    panGestureActive = false
    shouldSilent = false
    configureView(announcement)

  public func shout(to controller: UIViewController) {
    guard let controller = controller.navigationController else { fatalError("The controller must contain a navigation bar") }

    let width = UIScreen.mainScreen().bounds.width
    controller.view.addSubview(self)

    frame = CGRect(x: 0, y: 0, width: width, height: 0)
    backgroundView.frame = CGRect(x: 0, y: 0, width: width, height: 0)

    UIView.animateWithDuration(0.35, animations: {
      self.frame.size.height = Dimensions.height
