 
 extension RADInfoBannerView {
     // MARK: Private Methods
-    func textLabelHeight() -> CGFloat {
+    func infoBannerViewHeight() -> CGFloat {
+        let calculatedHeight = self.textLabelSize().height + RADInfoBannerViewHeightPadding
+        return calculatedHeight > RADInfoBannerViewHeight ? calculatedHeight : RADInfoBannerViewHeight
+    }
+    
+    func textLabelSize() -> CGSize {
         let textString = NSString(string: self.textLabel.text!)
         
         let screenWidth = CGRectGetWidth(UIScreen.mainScreen().bounds)
-        let constraintRect = CGSize(width: screenWidth * 0.8, height: CGFloat.max)
+        let constraintRect = CGSize(width: screenWidth * 0.82, height: CGFloat.max)
         let boundingBox = textString.boundingRectWithSize(constraintRect, options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: self.textLabel.font], context: nil)
-        let calculatedHeight = boundingBox.size.height + RADInfoBannerViewHeightPadding
-        return calculatedHeight > RADInfoBannerViewHeight ? calculatedHeight : RADInfoBannerViewHeight
+        return boundingBox.size
     }
     
     func hideInfoBannerView(animated: Bool = true) {

            
            // activityIndicator
            NSLayoutConstraint(item: self.activityIndicatorView, attribute: .CenterY, relatedBy: .Equal, toItem: self.textLabel, attribute: .CenterY, multiplier: 1.0, constant: 0.0),
            NSLayoutConstraint(item: self.activityIndicatorView, attribute: .Right, relatedBy: .Equal, toItem: self.textLabel, attribute: .Left, multiplier: 1.0, constant: 5.0),
            
            // textLabel
            NSLayoutConstraint(item: self.textLabel, attribute: .CenterY, relatedBy: .Equal, toItem: self, attribute: .CenterY, multiplier: 1.0, constant: 0.0),
            NSLayoutConstraint(item: self.textLabel, attribute: .CenterX, relatedBy: .Equal, toItem: self, attribute: .CenterX, multiplier: 1.0, constant: 0.0),
            NSLayoutConstraint(item: self.textLabel, attribute: .Width, relatedBy: .Equal, toItem: self, attribute: .Width, multiplier: 0.88, constant: 0.0)
        ])
        
        super.updateConstraints()

        self.topViewController!.view.layoutIfNeeded()
        self.topViewController!.view.updateConstraintsIfNeeded()
        // set height of the info banner view
        self.heightConstraint.constant = self.infoBannerViewHeight()
        UIView.animateWithDuration(0.3, animations: { () -> Void in
            self.layoutIfNeeded()
        })
