     
     lazy var closeButton:UIButton = {
         let button = UIButton(frame: CGRectZero)
-        button.frame = CGRect(x: self.closeButtonPadding, y: CGRectGetHeight(self.containerView!.bounds) - 44 - self.closeButtonPadding, width: 44, height: 44)
+        button.frame = CGRect(x: self.closeButtonPadding, y: self.statusBarEstimatedHeight + self.closeButtonPadding, width: 44, height: 44)
         button.setImage(UIImage(named: "close"), forState: UIControlState.Normal)
         button.tintColor = UIColor.whiteColor()
         button.addTarget(self, action: "didTap:", forControlEvents: .TouchUpInside)

            let frame = self.frameOfPresentedViewInContainerView()
            self.presentedView()!.frame = frame

            var buttonFrame = self.closeButton.frame;
            buttonFrame.origin.y = CGRectGetHeight(self.containerView!.bounds) - 44 - self.closeButtonPadding
            self.closeButton.frame = buttonFrame;

            }, completion:nil)
    }

    public var minimumVisibleBackgroundWidth: CGFloat = 60.0
    public var maximumTableOfContentsWidth: CGFloat = 300.0
    public var closeButtonPadding: CGFloat = 10.0
    public var statusBarEstimatedHeight: CGFloat = 20.0
    
    // MARK: - Views
    lazy var statusBarBackground: UIView = {
        let view = UIView(frame: CGRect(x: CGRectGetMinX(self.containerView!.bounds), y: CGRectGetMinY(self.containerView!.bounds), width: CGRectGetWidth(self.containerView!.bounds), height: self.statusBarEstimatedHeight))
        view.autoresizingMask = .FlexibleWidth
        let statusBarBackgroundBottomBorder = UIView(frame: CGRectMake(CGRectGetMinX(view.bounds), CGRectGetMaxY(view.bounds), CGRectGetWidth(view.bounds), 0.5))
        statusBarBackgroundBottomBorder.autoresizingMask = .FlexibleWidth
