我如何使用 @IBDesignable 和 @IBInspectable 创建 uitextfield 的自定义子类,我可以从左侧设置占位符填充

How can I make a custom subclass of uitextfield and over there using @IBDesignable & @IBInspectable I can set placholder padding from left

我想创建一个 UITextField 的子类,然后使用 @IBDesignable 和 @IBInspectable 为文本和占位符设置左侧和右侧填充。可以忽略左右视图。

为您的文本字段创建自定义 class 并将您的文本字段 class 设置为 CustomTextField

class CustomTextField: UITextField {

  @IBInspectable var padding : CGFloat = 0 {
      didSet{
              let paddingView : UIView = UIView(frame: CGRect(x: 0, y: 0, width: padding, height: self.frame.size.height))
              self.leftView = paddingView
              self.rightView = paddingView
              self.leftViewMode = .always
    }
  }
 }

然后,您可以从情节提要中设置填充。并且占位符可以从情节提要中的 Attributes Inspector 设置。