       }
     }
   }
-  
+  //MARK: TextField Editing Observer
+  func textFieldTextDidEndEditing(notification : NSNotification) {
+    if (hasText()) {
+      floatingLabel.textColor = inactiveTextColorfloatingLabel
+    }
+  }
+  
+  func textFieldTextDidBeginEditing(notification : NSNotification) {
+    floatingLabel.textColor = activeTextColorfloatingLabel
+  }
+  //MARK: Font Size Change Oberver
   func fontSizeDidChange (notification : NSNotification) {
     applyFonts()
     invalidateIntrinsicContentSize()

  func setupObservers() {
    NSNotificationCenter.defaultCenter().addObserver(self, selector:"textFieldTextDidChange:", name: UITextFieldTextDidChangeNotification, object: nil)
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "fontSizeDidChange:", name: UIContentSizeCategoryDidChangeNotification, object: nil)
  }
  
  func setupFloatingLabel() {

      horizontalPadding)
  }
  
  
  //MARK: - Observers
  func textFieldTextDidChange(notification : NSNotification) {
    let previousShouldDrawPlaceholderValue = shouldDrawPlaceholder
    shouldDrawPlaceholder = !hasText()
    
    // Only redraw if self.shouldDrawPlaceholder value was changed
