Чтобы установить фрейм для вашего imageView, вам нужно создать подкласс UITextField
и переопределить leftViewRect(forBounds:)
. Приведенный ниже код приведет к смещению вида 20x20 на 10 точек слева и по центру по вертикали.
class AwesomeTextField: UITextField {
override func leftViewRect(forBounds bounds: CGRect) -> CGRect {
let leftViewHeight: CGFloat = 20
let y = bounds.size.height / 2 - leftViewHeight / 2
return .init(x: 10, y: y, width: leftViewHeight, height: leftViewHeight)
}
}
Чтобы добавить imageView к textField, вы должны сделать это:
class ViewController: UIViewController {
@IBOutlet weak var textField: AwesomeTextField!
override func viewDidLoad() {
super.viewDidLoad()
let imageView = UIImageView()
imageView.image = UIImage(named: "c")
textField.leftView = imageView
textField.leftViewMode = .always
}
}
Make убедитесь, что вы установили соответствующее имя класса для textField в инспекторе идентичности вашей раскадровки.