UITextField 填充

UITextField padding

我无法为 UITextFieldleftView 属性 创建填充。我现在拥有的代码为文本创建了很好的填充,但我需要它用于 imageView。

UITextField子类方法:

结果:

您需要更改您的功能,只需设置 imageView 的框架并将 paddingView's X 位置设置为 0

func setLeftView(imageView: UIImageView, withPadding padding: CGFloat) {

let height = imageView.frame.height
let width = imageView.frame.width + padding

// Set  x position to 0
let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: width, height: height))

/// You need to set frame of imageView so put this line
imageView.frame = CGRect(x: padding, y: 0, width: imageView.frame.width, height: height)

paddingView.addSubview(imageView)
self.leftView = paddingView
self.leftViewMode = .always
}

你必须覆盖: override func leftViewRect(forBounds bounds: CGRect) -> CGRect