     private var _campo:UITextField!
     private var _error:UILabel!
     private var _contenedor:UIView!
+    private var _viewIzquierda:UIView!
     
     //MARK: VARIABLES DE PADDING DEL CONTENEDOR
     @IBInspectable var paddingSuperior:CGFloat = 0.0{

        self._error.topAnchor.constraint(equalTo: self._contenedor.topAnchor).isActive = true
        self._error.heightAnchor.constraint(equalTo: self._contenedor.heightAnchor, multiplier: 0.3).isActive = true
        
        self._campo.leadingAnchor.constraint(equalTo: self._contenedor.leadingAnchor).isActive = true
        self._campo.trailingAnchor.constraint(equalTo: self._contenedor.trailingAnchor).isActive = true
        self._campo.bottomAnchor.constraint(equalTo: self._contenedor.bottomAnchor).isActive = true
        self._campo.topAnchor.constraint(equalTo: self._error.bottomAnchor).isActive = true
        
        self._campo.backgroundColor = .red
        self._error.backgroundColor = .yellow
    }
    
    func configurarPlaceholder(){
        self._campo.placeholder = self._tipo.placeholder()
    }
    
}
enum HGTextInputType{
    

        }
    }
    
    
    @IBInspectable var colorFondo:UIColor = .clear{
        didSet{
            if self._campo != nil{
                self._campo.backgroundColor = colorFondo
            }
        }
    }
    
    //DEFINE EL TIPO DEL CAMPO DE TEXTO
    @IBInspectable var tipo:Int = HGTextInputType.name.hashValue{
        didSet{
            self._tipo = HGTextInputType(value: tipo)
            self.configurarLetraCampo()
        }
    }
    
    //MARK: VARIABLES PARA IMAGEN IZQUIERDA
    @IBInspectable var imagenIzquierda:UIImage!{
        didSet{
            if imagenIzquierda != nil{
                self.configurarImagenIzquierda()
            }else{
                
            }
        }
    }
    
    //MARK: VARIABLES PARA Fuentes
    @IBInspectable var tamanoLetra:CGFloat = 17.0{
        didSet{
            if self.existeFuente(nombre: self.fuente){
                self._fuente = UIFont(name: self.fuente, size: self.tamanoLetra)!
            }else{
                print("No existe fuente \(fuente)")
            }
        }
    }
    
    @IBInspectable var fuente:String = "Arial"{
        didSet{
            if self.existeFuente(nombre: fuente){
                self._fuente = UIFont(name: self.fuente, size: self.tamanoLetra)!
            }else{
                print("No existe fuente \(fuente)")
            }
        }
    }
    
    var _fuente:UIFont = UIFont(name: "Arial", size: 17.0)!{
        didSet{
            self.configurarLetraCampo()
        }
    }
    
    @IBInspectable var mensajeError:String = ""{
        didSet{
            if self._error != nil{
                self._error.text = mensajeError
            }
        }
    }
    
    @IBInspectable var tamanoError:CGFloat = 10.0{
        didSet{
            if self.existeFuente(nombre: fuente) && self._error != nil{
                self._error.font = UIFont(name: self.fuente, size: tamanoError)
            }
        }
    }
    
    @IBInspectable var colorError:UIColor = .red{
        didSet{
            if self._error != nil{
                self._error.textColor = colorError
            }
        }
    }
    
    override func prepareForInterfaceBuilder() {
        super.prepareForInterfaceBuilder()
        //self.configurarCampoTexto()
    }
    
    /// FUNCION QUE CONFIGURA EL CAMPO DE TEXTO
    private func configurarCampoTexto(){
        self.configurarCampoTextoYErrorTamano()
        self.configurarPlaceholder()
    }
    
    


    @available(iOS 9.0, *)
    private func configurarCampoTextoYErrorTamano(){
        
        if self.subviews.count > 0{
            self.subviews.forEach { (vista) in
                vista.removeFromSuperview()
            }
        }
        
        self._campo = UITextField()
