             
             window.layoutIfNeeded()
             
+            let titleFrame = dropdown.titleLabel.frame;
+            let titleHeight = titleFrame.size.height;
+            let messageFrame = dropdown.messageLabel.frame;
+            let messageHeight = messageFrame.size.height;
+            
+            let contentHeight = Int(messageHeight) + Int(titleHeight);
+            
             let animation = self.popAnimationForAnimationType(animationType: animationType)
-            animation.toValue = Defaults.Height
+            animation.toValue = contentHeight + Int(2 * Defaults.VerticalPadding + Defaults.TopPadding)
             animatedConstraint.pop_add(animation, forKey: "show-dropdown")
             
             dropdown.perform(#selector(dismiss), with: nil, afterDelay: duration + Defaults.AnimationDuration)

                                 backgroundColor: UIColor = Defaults.BackgroundColor,
                                 textColor: UIColor = Defaults.TextColor,
                                 duration: Double = Defaults.Duration) {
        // Ensure that everything happens on the main queue
        DispatchQueue.main.async {
            let windows = UIApplication.shared.windows.filter { $0.windowLevel == UIWindowLevelNormal && !$0.isHidden }

        static var Message                   = "Default message!"
        static var AnimationDuration: Double = 0.25
        static var Duration: Double          = 2
        static var VerticalPadding           = CGFloat(10)
        static var TopPadding                = CGFloat(20)
        static var Height: CGFloat           = 90
        static var TitleFont: UIFont         = UIFont.systemFont(ofSize: Defaults.FontSize)
        static var MessageFont: UIFont       = UIFont.systemFont(ofSize: Defaults.FontSize)
