Solo quiero agregar algo más aquí:
Si desea agregar la imagen en UITextFieldel lado izquierdo, use la leftViewpropiedad deUITextField
NOTA: No olvide establecer leftViewModeen UITextFieldViewMode.Alwaysy para el derecho rightViewModeal UITextFieldViewMode.Always andvalor predeterminadoUITextFieldViewModeNever
por ejemplo
Para agregar una imagen en el lado izquierdo
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
Para agregar una imagen en el lado derecho
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
NOTA: algunas cosas que debe tener en cuenta al agregar una imagen UITextFielden el lado izquierdo o derecho.
No olvides dar un marco del ImageViewque vas a agregarUITextField
let imageView = UIImageView (marco: CGRect (x: 0, y: 0, ancho: 20, alto: 20))
si el fondo de la imagen es blanco, la imagen no se verá en UITextField
si desea agregar una imagen a la posición específica, debe agregarla ImageViewcomo subvista de UITextField.
Actualización para Swift 3.0
@Mark Moeykens lo gastó maravillosamente y lo hizo @IBDesignable .
Modifiqué y agregué algunas características más (agregue Bottom Line y relleno para la imagen derecha) en esto.
NOTA si desea agregar una imagen en el lado derecho, puede seleccionar la Force Right-to-Leftopción en el semanticgenerador de interfaces (pero para el relleno de la imagen derecha no funcionará hasta que anule el método rightViewRect).

He modificado esto y puedo descargar la fuente desde aquí ImageTextField
