Я просто хочу добавить сюда еще кое-что:
Если вы хотите добавить изображение UITextFieldслева, используйте leftViewсвойствоUITextField
Примечание: Не забудьте набор leftViewModeдля UITextFieldViewMode.Alwaysи права rightViewModeна UITextFieldViewMode.Always andдефолтUITextFieldViewModeNever
например, для
Для добавления изображения слева
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
Для добавления изображения с правой стороны
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
ПРИМЕЧАНИЕ: нужно позаботиться о некоторых вещах, добавляя изображение UITextFieldс левой или с правой стороны.
Не забудьте указать рамку, ImageViewкоторую вы собираетесь добавитьUITextField
пусть imageView = UIImageView (кадр: CGRect (x: 0, y: 0, ширина: 20, высота: 20))
если фон вашего изображения белый, то изображение не будет отображаться на UITextField
если вы хотите добавить изображение в определенную позицию, которую необходимо добавить ImageViewв качестве подвида UITextField.
Обновление для Swift 3.0
@Mark Moeykens Красиво расширил его и сделал @IBDesignable .
Я изменил и добавил еще несколько функций (добавьте нижнюю строку и отступ для правого изображения) в этом.
ПРИМЕЧАНИЕ: если вы хотите добавить изображение с правой стороны, вы можете выбрать Force Right-to-Leftопцию в semanticпостроителе интерфейса (но для правого заполнения изображения не будет работать, пока вы не переопределите метод rightViewRect).

Я изменил это и могу скачать источник отсюда ImageTextField
