Chcę tylko dodać tutaj coś więcej:
Jeśli chcesz dodać obraz UITextFieldpo lewej stronie, użyj leftViewwłaściwościUITextField
UWAGA: Nie zapomnij ustawić leftViewModena, UITextFieldViewMode.Alwaysa prawo rightViewModedo UITextFieldViewMode.Always andwartości domyślnej toUITextFieldViewModeNever
np
Aby dodać obraz po lewej stronie
textField.leftViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.leftView = imageView
Aby dodać obraz po prawej stronie
textField.rightViewMode = UITextFieldViewMode.Always
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let image = UIImage(named: imageName)
imageView.image = image
textField.rightView = imageView
UWAGA: na kilka rzeczy należy zwrócić uwagę podczas dodawania obrazu po UITextFieldlewej lub prawej stronie.
Nie zapomnij podać ramki, ImageViewktórą zamierzasz dodaćUITextField
let imageView = UIImageView (ramka: CGRect (x: 0, y: 0, szerokość: 20, wysokość: 20))
jeśli tło twojego obrazu jest białe, obraz nie będzie widoczny UITextField
jeśli chcesz dodać obraz do określonej pozycji, musisz dodać go ImageViewjako podwidok UITextField.
Aktualizacja dla Swift 3.0
@Mark Moeykens Pięknie go rozbudował i uczynił z @IBDesignable .
Zmodyfikowałem i dodałem więcej funkcji (dodaj dolną linię i wypełnienie dla prawego obrazu) w tym.
UWAGA, jeśli chcesz dodać obraz po prawej stronie, możesz wybrać Force Right-to-Leftopcję w semantickonstruktorze interfejsu (ale dla prawego dopełnienia obrazu nie będzie działać, dopóki nie zastąpisz metody rightViewRect).

Zmodyfikowałem to i mogę pobrać źródło stąd ImageTextField
