     fileprivate func updateFrame() {
         let textWidth: CGFloat = bounds.size.width
         if isLTRLanguage {
-            iconLabel.frame = CGRect(
-                x: 0,
-                y: bounds.size.height - textHeight() - iconMarginBottom,
-                width: iconWidth,
-                height: textHeight()
-            )
-        } else {
-            iconLabel.frame = CGRect(
-                x: textWidth - iconWidth,
-                y: bounds.size.height - textHeight() - iconMarginBottom,
-                width: iconWidth,
-                height: textHeight()
-            )
+            
+            switch self.iconType {
+            case .font:
+                iconLabel.frame = CGRect(
+                    x: 0,
+                    y: bounds.size.height - textHeight() - iconMarginBottom,
+                    width: iconWidth,
+                    height: textHeight()
+                )
+            
+            case .image:
+                iconImageView.frame = CGRect(
+                    x: 0,
+                    y: bounds.size.height - textHeight() - iconMarginBottom,
+                    width: iconWidth,
+                    height: textHeight()
+                )
+                
+            }
+            
+            
+        } else {
+            
+            switch self.iconType {
+            case .font:
+                iconLabel.frame = CGRect(
+                    x: textWidth - iconWidth,
+                    y: bounds.size.height - textHeight() - iconMarginBottom,
+                    width: iconWidth,
+                    height: textHeight()
+                )
+                
+            case .image:
+                iconImageView.frame = CGRect(
+                    x: textWidth - iconWidth,
+                    y: bounds.size.height - textHeight() - iconMarginBottom,
+                    width: iconWidth,
+                    height: textHeight()
+                )
+                
+            }
+            
         }
     }
 }

    override public init(frame: CGRect) {
        super.init(frame: frame)
        createIconLabel()
    }

    /**

    required public init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        createIconLabel()
        createIconImageView()
        
        switch self.iconType {
        case .font:
            self.iconLabel.isHidden = false
            self.iconImageView.isHidden = true
        
        case .image:
            self.iconLabel.isHidden = true
            self.iconImageView.isHidden = false
            
        }
        
    }

    // MARK: Creating the icon label
