         let centerXConstraint = NSLayoutConstraint(item: hudMessageView, attribute: .centerX, relatedBy: .equal, toItem: self, attribute: .centerX, multiplier: 1, constant: 0)
         let centerYConstraint = NSLayoutConstraint(item: hudMessageView, attribute: .centerY, relatedBy: .equal, toItem: self, attribute: .centerY, multiplier: 1, constant: 0)
         let widthConstraint = NSLayoutConstraint(item: hudMessageView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 144)
-        let heightConstraint = NSLayoutConstraint(item: hudMessageView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 144)
-        
+        
+        let minimumHeightConstraint = NSLayoutConstraint(item: hudMessageView, attribute: .height, relatedBy: .greaterThanOrEqual, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 144)
+
         widthConstraint.priority = UILayoutPriorityRequired - 1
-        heightConstraint.priority = UILayoutPriorityRequired - 1
-        
-        [centerXConstraint, centerYConstraint, widthConstraint, heightConstraint].forEach {
+        minimumHeightConstraint.priority = UILayoutPriorityRequired - 1
+        
+        [centerXConstraint, minimumHeightConstraint, centerYConstraint, widthConstraint].forEach {
             $0.isActive = true
         }
         
         hudWidthConstraint = widthConstraint
-        hudHeightConstraint = heightConstraint
+        hudMinimumHeightConstraint = minimumHeightConstraint
     }
     
     private func generateIconConstraints() {

        let widthConstraint = NSLayoutConstraint(item: iconImageView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 48)
        let heightConstraint = NSLayoutConstraint(item: iconImageView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 48)
        
        [centerXConstraint, centerYConstraint, widthConstraint, heightConstraint].forEach {
            $0.isActive = true
        }
        

    private func generateMessageLabelConstraints() {
        
        let topConstraint = NSLayoutConstraint(item: informationLabel, attribute: .top, relatedBy: .equal, toItem: iconImageView, attribute: .bottom, multiplier: 1, constant: 8)
        let bottomConstraint = NSLayoutConstraint(item: informationLabel, attribute: .bottom, relatedBy: .equal, toItem: hudMessageView, attribute: .bottom, multiplier: 1, constant: -20)
        let leadingConstraint = NSLayoutConstraint(item: informationLabel, attribute: .leading, relatedBy: .equal, toItem: hudMessageView, attribute: .leading, multiplier: 1, constant: 5)
        let trailingConstraint = NSLayoutConstraint(item: informationLabel, attribute: .trailing, relatedBy: .equal, toItem: hudMessageView, attribute: .trailing, multiplier: 1, constant: -5)
        
