         }
     }
     
+    // MARK: - Private
+    
+    private func updateForegroundColor() {
+        foregroundView.backgroundColor = foregroundColor
+    }
+    
+    private func updatePlaceholder() {
+        placeholderLabel.text = placeholder
+        placeholderLabel.textColor = placeholderColor
+    }
+    
+    private func placeholderFontFromFont(font: UIFont) -> UIFont! {
+        let smallerFont = UIFont(name: font.fontName, size: font.pointSize * 0.8)
+        return smallerFont
+    }
+    
     // MARK: - Overrides
         
     override public func editingRectForBounds(bounds: CGRect) -> CGRect {

    private let placeholderInsets = CGPoint(x: 10, y: 5)
    private let textFieldInsets = CGPoint(x: 10, y: 0)
        
    // MARK: - TextFieldsEffectsProtocol

    override public func drawViewsForRect(rect: CGRect) {
        let frame = CGRect(origin: CGPointZero, size: CGSize(width: rect.size.width, height: rect.size.height))


import UIKit

/**
 A KaedeTextField is a subclass of the TextFieldEffects object, is a control that displays an UITextField with a customizable visual effect around the foreground of the control.
 */
@IBDesignable public class KaedeTextField: TextFieldEffects {
    
    /**
     The color of the placeholder text.
     
     This property applies a color to the complete placeholder string. The default value for this property is a black color.
     */
    @IBInspectable dynamic public var placeholderColor: UIColor? {
        didSet {
            updatePlaceholder()
        }
    }
    
    /**
     The view’s foreground color.
     
     The default value for this property is a clear color.
     */
    @IBInspectable dynamic public var foregroundColor: UIColor? {
        didSet {
            updateForegroundColor()
