         return paddingX
     }
     
+    fileprivate var fontHeight:CGFloat{
+        return ceil(font!.lineHeight)
+    }
+    
     fileprivate var dtLayerHeight:CGFloat{
-        
         return showErrorLabel ? floor(bounds.height - lblError.bounds.size.height - paddingYErrorLabel) : bounds.height
     }
     

    override public func layoutSubviews() {
        super.layoutSubviews()
        
        dtLayer.frame = CGRect(x: bounds.origin.x,
                               y: bounds.origin.y,
                               width: bounds.width,
                               height: dtLayerHeight)
        
        if showErrorLabel {
            

                return insetRectForEmptyBounds(rect: rect)
            }else{
                let topInset = paddingYFloatLabel + lblFloatPlaceholder.bounds.size.height + (paddingHeight / 2.0)
                let textOriginalY = (rect.height - fontHeight) / 2.0
                var textY = topInset - textOriginalY
                
                if textY < 0 { textY = topInset }
                
                return CGRect(x: x, y: ceil(textY), width: rect.size.width - paddingX, height: rect.height)
            }
        }
    }
