                                    multiplier: 1, constant: 0)
                 ])
             
-        }
+        default:
+            container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|-0-[view]-0-|", options: [], metrics: nil, views: ["view": view]))
+            container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[view]-0-|", options: [], metrics: nil, views: ["view": view]))
+            
+        }
+        
+        self.action = action
 
         if animated && oldContent != nil {
             animateContent(from: (oldContent!, oldContentType), to: (content!, contentType), completion: completion)

        case .bottom:
            container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|-0-[view]-0-|", options: [], metrics: nil, views: ["view": view]))
            container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[view]-0-|", options: [], metrics: nil, views: ["view": view]))
        default:
            container.addConstraints([
                NSLayoutConstraint(item: container, attribute: .centerX,
                                   relatedBy: .equal,

        return button
    }
    
    @IBAction public func buttonAction(sender: UIView) {
        if action?(self, sender) ?? true {
            dismiss()
        }
